当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下。 
1.安装Jenkins,这个很简单,不需要多说。 
2.下载Git Plugin,Gradle Plugin,Android Emulator Plugin(这个可以配置SDK路径,觉得这个插件挺好), 
Email Extension Plugin 邮件提醒插件,自带的邮件提醒插件确实太弱。 
3.配置,SDK路径,JDK路径,Git路径,Gradle路径。

配置git: 
git config –global user.name “name” 
git config –global user.email email 
查看: 
cat /root/.gitconfig 
root是指当前的用户

生成公钥和私钥: 
ssh-keygen -t rsa -C “email”

邮件配置: 
Default Subject

构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
  • 1

Default Content

<hr/>

(本邮件是程序自动下发的,请勿回复!)<br/><hr/>

项目名称:$PROJECT_NAME<br/><hr/>

构建编号:$BUILD_NUMBER<br/><hr/>

构建状态:$BUILD_STATUS<br/><hr/>

触发原因:${CAUSE}<br/><hr/>

构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>

构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>

变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4.项目配置 
4.1构建一个自由风格的软件项目 
4.2git地址配置,我们是专门创建一个用户用来拉取项目打包,如果使用ssh记得配置私钥和公钥(我们是使用gitblit,需要在gitblit上面配置公钥,Jenkins里面配置私钥)

分支配置

Additional Behaviours 
高级配置,clone时间等

4.3Poll SCM,触发器配置 
H/30 23 * * 1-5 表示星期一到星期五每天晚上23:30分构建一次。 
第一个参数代表的是分钟 minute,取值 0~59; 
第二个参数代表的是小时 hour,取值 0~23; 
第三个参数代表的是天 day,取值 1~31; 
第四个参数代表的是月 month,取值 1~12; 
第五个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。 
如H/5 表示的就是每5分钟检查一次源码变化。

4.4配置gradle task 
由于每个项目,每个修改的用户都不一样,所以我们的gradle.properties是配置在电脑的user/.gradle/gradle.properties这里的,这个文件里面配置了我们的私有maven库的地址,keystore的位置,所以呢,我们项目里面的gradle.properties是空的,会单独写个config.gradle文件来重新生成这个文件。这个文件执行可以防止setting.gradle里面,因为这个是最先执行的,但是这样的话,会有干扰,因为只有Jenkins打包的时候才会需要重新修改gradle.properties文件,所以呢,我们这个文件是独立的。

配置gradle命令执行config.gradle文件里面的task 
-q -b config.gradle taskname 大概是这样

配置clean等命令 
clean build

执行完成之后可以在写个gradle文件去执行把打包好的apk文件拷贝到指定的地点。

4.5邮件配置 
主要是高级设置里面,需要配置,Triggers,触发什么时候需要发邮件。

哈哈,当然,我这篇文章写的简短,但是其实过程中遇到很多问题,大概折腾两三天,Win上面还好,Linux上面会有很多依赖库的问题,我是分别在Linux和Windows上面都调试好了滴。

遇到问题可以看http://www.jianshu.com/p/c1b1b2817d90这篇文章,写的很好。

Jenkins自动打包配置的更多相关文章

  1. [原] Jenkins Android 自动打包配置

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  2. [原] Jenkins Android 自动打包配置(转)

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  3. Jenkins Android 自动打包配置

    一.Jenkins自动打包配置 目标:1. 自动打包:2. 自动上传:3. 友好下载 1. Jenkins简介 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 减少重复劳 ...

  4. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  5. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  6. Jenkins自动化打包配置

    具体流程不细讲,教程很多 * 环境配置: * xmapp安装 * Jenkins.war丢到Tomcat目录中,配置Jenkins * 宿主机安装jdk,gradle,配置环境变量(在Jenkins的 ...

  7. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

  8. [iOS开发] 使用Jenkins自动打包并上传至蒲公英

    设置构建触发器 Poll SCM H/2 * * * * 设置 构建脚本 # #xodebuild & jenkins 自动构建并上传至pgyer.com #2017年5月9日 # #定义一些 ...

  9. jenkins自动发送邮件配置

    一. 前提:确保插件存在 在一切开始之前,必须得确保任务配置里有两个插件:E-mail Notification(邮件通知) 和 Editable Email Notification(可编辑的邮件通 ...

随机推荐

  1. java的Date类型转换为MySQL数据库的Date类型

    最近遇到一个问题,需要把java中的日期类型存放为MySQL数据库的日期类型,两个日期之间需要进行转化才能进行存储,转化代码如下: package com.alphajuns.demo1; impor ...

  2. 将Android studio的工程导入到eclipse中

    自从Android Studio(后面称AS)推出后,越来越多的项目都使用AS开发. AS往eclipse迁移的方法: 其实很简单,代码都是一样的,从AS工程中找到与Eclipse工程对应的文件,放到 ...

  3. Shell正则表达式和文本处理工具

    作业一:整理正则表达式博客 一.什么是正则 正则就是用一些具有特殊含义的符号组合而成(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 通配符是由shell解释得. ...

  4. python基础之练习题(一)

    1.执行 Python 脚本的两种方式 python test.py chmod +x test.py && ./test.py 2.简述位.字节的关系 二进制位(bit)是计算机存储 ...

  5. Collections工具类的使用

    创建实体类 public class News implements Comparable { private int id; //新闻编号 private String title; //新闻标题 ...

  6. Linux学习笔记(6)磁盘分区(LVM)

    1.逻辑管理技术LVM的概念 1.1 LVM ,逻辑卷管理,以便扩展管理盘符. PV:物理卷 VG:卷组 LV:逻辑卷 PE(physical Extend):物理扩展(默认4M),就是我们逻辑卷管理 ...

  7. mysql 建立表之间关系 练习 1

    练习:账号信息表,用户组,主机表,主机组 #用户表 mysql> create table user( id int not null unique auto_increment, userna ...

  8. node.js---sails项目开发(6)--- 实现分页功能

    只需要添加一个文件即可  api/blueprints/find.js     代码如下 /** * Module dependencies */ var util = require('util') ...

  9. RTSP服务端转发服务(live555库中的testH264VideoStreamer.cpp和testOnDemandRTSPServer.cpp实例)

    1.h264文件的推送 testH264VideoStreamer.cpp文件的开头就定义了 char const* inputFileName = "test.264"; 后面接 ...

  10. appium入门基础

    1. 建立session时常用命令: DesiredCapabilities cap = new DesiredCapabilities(); cap.SetCapability("brow ...