您的位置:首页 > 其它

Jenkins自动构建的方法

2017-07-22 23:13 295 查看
转自: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
fi

source venv/bin/activate
#pip install -i http://pypi.douban.com/simple -r requirements.txt
pip 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 sys
sys.path.append(' /var/lib/jenkins/jobs/test/workspace/venv/lib/python2.7/site-packages ')

import jenkinsapi
import time
from jenkinsapi.jenkins import Jenkins

print '------------------'
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 jenkinsapi
import time
from jenkinsapi.jenkins import Jenkins

print '------------------'
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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: