Jenkins自动构建的方法

来源:互联网 发布:图像领域的经典算法 编辑:程序博客网 时间:2024/05/29 06:56

转自:http://blog.csdn.net/lanfan_11/article/details/50056893

1、Configuring automatic builds 
配置自动构建

直接post一个url,触发自动构建。(在浏览器打开这个地址,然后点击proceed按钮,也可以) 
语法:http://YOURHOST/jenkins/job/PROJECTNAME/build 
Eg: 
http://192.168.70.112:8081/job/pay_center_api/build(直接构建) 
http://192.168.70.112:8081/job/pay_center_api/polling (这个,代码如果没有更新,不会构建)

2、Builds by source changes 
这里写图片描述 
周一至周五,每15分钟构建一次。

功能:Jenkins定时去比较当前版本与svn上的版本是否一致,如果不一致,则更新,如果一致,则不更新。

3、使用Python脚本(创建python虚拟环境) 
3.1 Linux环境 
①创建一个shell脚本

if [ ! -d "venv" ]; then/usr/local/bin/virtualenv venv fisource venv/bin/activate#pip install -i http://pypi.douban.com/simple -r requirements.txtpip install  jenkinsapi#/usr/local/bin/python2.7 app.py#gunicorn -b :9008 -w 2 app:app  --log-file=-#cd /var/lib/jenkins/jobs/test/workspace/venv/lib/python2.7/site-packages#/usr/local/lib/python2.7/site-packages
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

②创建python脚本

# -*- coding: utf-8 -*-#http://python-jenkins.readthedocs.org/en/latest/api.html#自动重启某一个项目#引用路径到path中import syssys.path.append(' /var/lib/jenkins/jobs/test/workspace/venv/lib/python2.7/site-packages ')import jenkinsapiimport timefrom jenkinsapi.jenkins import Jenkinsprint '------------------'job_list = ['pay_center_api','pay_center_hou_tai','pay_center_qian_tai']J = Jenkins('http://192.168.70.112:8081','admin', 'admin')#关闭构建for job in job_list :    if J[job].get_last_build().stop():        print J[job],'stop()','成功'        time.sleep(1)    else:        print J[job],'没有在运行 'time.sleep(3)#构建for job in job_list :    J[job].invoke()    print J[job],'启动成功。。。 '
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

3.2 windows环境 
创建python脚本即可。

# -*- coding: utf-8 -*-#http://python-jenkins.readthedocs.org/en/latest/api.html#自动重启某一个项目import jenkinsapiimport timefrom jenkinsapi.jenkins import Jenkinsprint '------------------'job_list = ['pay_center_api','pay_center_hou_tai','pay_center_qian_tai']J = Jenkins('http://192.168.70.112:8081','admin', 'admin')#关闭构建for job in job_list :    if J[job].get_last_build().stop():        print J[job],'stop()','成功'        time.sleep(1)    else:        print J[job],'没有在运行 'time.sleep(3)#构建for job in job_list :    J[job].invoke()    print J[job],'启动成功。。。 '
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26