Jenkins自动构建的方法

来源:互联网 发布:mac可以玩童话吗 编辑:程序博客网 时间:2024/05/29 07:08

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

②创建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],'启动成功。。。 '

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],'启动成功。。。 '
0 0
原创粉丝点击