Jenkins自动化部署Python应用

35 阅读7分钟

Jenkins 是最著名的持续集成工具。

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。

02

图片

Jenkins安装

图片

1、安装java

Jenkins是基于Java开发的,因此需要先安装Java。Oracle官网产品下载java

图片

点击Oracle JDK,下载Java SE11

图片


**2、安装Jenkins
**

图片

可以直接官方网站下载:www.jenkins.io/zh/download…

根据你的系统下载安装包,我这边下载windows,点击安装包即可自动安装:

图片

图片

重启服务,关闭防火墙。

安装完成打开工具,浏览器访问:http://localhost:8080

图片

如果一直都是这个界面,浏览器控制台(F12),查看是否有以下的错误

GET http://localhost:8080/login?from=%2F 503 (Service Unavailable)

如果有,则需要进行以下操作

    1. 进入jenkins的工作目录:C:\ProgramData\Jenkins
  1. 2. 进入.jenkins目录,打开hudson.model.UpdateCenter.xml进行修改
  2. 3. 将url中的 https://updates.jenkins.io/update-center.json 修改为 http://mirror.xmission.com/jenkins/updates/update-center.json

进入jenkins安装目录,使用以下命令重启

jenkins restart

选择安装推荐插件, 进行后续配置即可,创建一个账号密码,登录界面如下

图片

图片

03

图片

Jenkins部署Python程序

Pythn脚本定时自动化运行部署操作特别简单,只需要进行以下几步操作:

1、Python插件安装

安装完Jenkins后,需要安装Python插件。在Jenkins的管理界面中,选择“插件管理”,然后选择“可选插件”,搜索“Python”,勾选“Python Plugin”插件进行安装。

图片

2、配置Python环境

在Jenkins的管理界面中,选择“ Global Tool Configuration ”,在其中配置java环境。

图片

在Jenkins的管理界面中,选择“Configure System”,在其中配置Python环境。点击“添加Python”,输入Python的安装路径和名称,保存配置。

图片

3、创建Jenkins项目

在Jenkins的首页中,点击“新建任务”,输入任务名称,选择“自由风格的软件项目”,点击“确定”创建项目。

图片

4、配置项目

在项目的配置界面中,两个关键的设置,构建触发器和Build Steps。

图片

Jenkins 自带两种模式,来管理定时触发构建项目:

  • Build periodically(定时构建):周期性进行构建,不限制于项目是否有变动;
  • poll scm(轮询):定时检查是否有改动,有改动进行触发构建,周期时间内无改动则不触发构建;
0-590-231-311-120-7

含义:

  第一位:表示分钟,取值范围 0~59

  第二位:表示小时,取值范围 0~23

  第三位:表示每月第几天,取值范围 1~31

  第四位:表示第几月,取值范围1~12

  第五位:表示每周第几天,取值范围0~7,0和7代表的都是周日

特殊字符代表的涵义举例
*所有可能的值【月】字段是星号,则表示每月都执行操作
,指定一个列表范围【日】字段是1,2,5,表示1日、2日、5日执行操作
-可以用整数之间一个范围【时】字段是2-6,表示2,3,4,5,6小时执行操作
/时间的间隔频率【时】字段是0-23/2,则表示每两小时执行一次正斜线和星号可以一起使用,例如:*/10,如在【分】字段,则表示每十分钟执行一次
H分散负载【分】字段是H,表达式H 7 * * *表示7点-8点之间内执行操作,根据自身负载情况选择运行(可以理解为随机一个)

0和7表示:周日

1-5表示:周一-周五,即工作日

6,7表示:周六和周日,即周末、非工作日

示例

定时构建需求表达式备注
周一至周五,9点 12点 16点定时触发H 9,12,16 * * 1-5
每隔5分钟构建一次H/5 * * * *
每隔30分钟H/30 * * * *
每隔75分钟H/15 H/2 * * *如果写成:H/15 H/1 * * *表示:每小时15分执行构建所以,要注意H/2
每隔90分钟H/30 H/2 * * *
每隔135分钟H/15 H/3 * * *
每隔145分钟H/35 H/3 * * *放到Jenkins上执行:9:59:35-12:24:35中间是2小时25分钟,即145分钟
每隔155分钟H/25 H/3 * * *放到Jenkins上执行:9:44:39-12:19:39中间是2小时35分钟,即155分钟
每隔150分钟执行一次H/30 H/3 * * *
每两小时构建一次H H/2 * * *
每天凌晨2点构建一次0 2 * * *分钟是0,则每天的2:00进行构建
每天的6点执行,H表示不确定在哪一分钟上(分散负载)H 6 * * *
每天中午12点定时构建一次H 12 * * *
在每小时的前半小时内,每10分钟执行一次H(0-29)/10 * * * *
每工作日,每2小时过去,从上午9:45开始,下午3:45结束,在第45分钟构建45 H(9-15)/2 * * 1-5
工作日,9点45-16点45,每2小时执行一次45 H(9-15)/2 * * 1-5
每两小时一次,每个工作日上午9点到下午4点(4:59)H H(9-16)/2 * * 1-5注意:这里的4点,如果理解为16:00则写成9-15,如果理解为16:59,则写成9-16以下涉及到N点,均指N点59分
工作日,8点-16点之间,每隔2小时执行一次H H(8-16)/2 * * 1-5例如放到Jenkins上执行:14:43:59-16:43:59
每星期的星期一到星期五的10:45分执行45 10 * * 1-5
每天上午10点,下午2点,4点0 10,14,16 * * *
朝九晚五工作时间内每半小时H/30 9-17 * * 1-5
工作日1,3,5每一个半小时运行一次H/30 H/2  * * 1,3,5
工作日,早8晚5,每隔120分钟执行一次H 8-17/2 * * 1-5
周末早5点10分,到晚10点30分,每隔0.5小时执行一次H/30 5-22 * * 6,7
工作日,早9晚6,每隔75分钟执行一次H/15 9-18/2  *  *  1-5
周末早6点10分,到晚11点30分,每隔135分钟执行一次H/15  6-23/3  *  *  6,7
1月-11月的1号和15号,执行一次(不固定在某个小时和某个分钟上)H H 1,15 1-11 *
每天的6点10分执行10 6 * * *
工作日8点执行0 8 * * 1-5
  • 在“Build Steps”选项卡中,选择“Execute Python script”,在其中输入需要执行的Python脚本,例如:

图片

其中,第一行激活虚拟环境,第二行执行测试脚本。在“构建后操作”选项卡中,可以设置构建成功或失败后执行的操作,例如发送邮件、发布到服务器等。

5、触发构建

配置完成后,保存点击项目的“Build Now”按钮,触发构建。构建完成后,可以查看构建日志和测试报告,进行问题排查和代码优化。

以上便是Jenkins工具的下载及使用说明,我们可以通过他快速部署一个自动化任务,是一个部署定时任务的不错方式。

测试新人可以学习《测试人的 Python 工具书》书籍《性能测试 JMeter 实战》书籍