返回主页本地Jenkins.war+SVN实现全自动化持续集成
准备工作:
-
Jenkins.war包
-
tomcat9
-
JDK19
-
SVN
Jenkins官网下载
https://www.jenkins.io/download/
Tomcat下载
https://tomcat.apache.org/

SVN下载
https://tortoisesvn.en.softonic.com/
DJK下载
https://www.oracle.com/java/technologies/downloads/
一、配置JDK环境变量
设置---》系统信息---》高级系统设置---》环境变量,在系统变量里新建JAVA_HOME,在path里中添加%JAVA_HOME%\bin


检查JDK的环境变量是否配置成功,打开cmd,java -version

二、配置Tomcat的
解压apache-tomcat-9.0.87-windows-x64.zip,把解压后的tomcat放在一个没有中文的路径下

进入bin目录,找到startup.bat,双击启动,访问http://localhost:8080/能正常打开如下界面,说面tomcat已配置好

三、Jenkins相关设置
1、解锁Jenkins
把jenkins.war放到tomcat中的webapps里,点击startup.bat重启,访问http://localhost:8080/Jenkins,如能打开以下界面,则证明Jenkins环境已配置好

管理员密码:复制下面密码上去,点击继续

2、安装插件
选择默认第一个:安装推荐的插件即可

跳转到如下界面,jenkins会自动安装页面中显示的插件,根据你的网络情况,这个过程会持续数分钟。

3、创建第一个管理员用户
插件安装完后会自动跳入管理员创建页面:

4、Jenkins配置URL:
使用默认的Jenkins url即可

点击开始使用Jenkins按钮

成功进入Jenkins界面

5、修改Jenkins登录密码
由于初始密码比较长,不好记。 鼠标移动到右上角用户名上,点击,然后再下拉选择框点击设置(configure),进入设置页面,找到password,填写新密码,点击save。


密码修改成功,退出重新登录

6、安装相关插件
点击Manage Jenkins ---》Manage Plugins---》Available
再搜索框中输入:Subversion回车,勾选---》安装

7、新建项目
点击新建item

填写任务名称,选择第一个自由风格即可,点击确定

设置保持构建的天数和保持构建的最大个数

源码管理
选择Subversion,Repository URL填写SVN的远程仓库地址

Credentials--》点击添加Jenkins,类型选择用户名和密码,添加完成后,点击添加

点击Credentials下拉选择框选择刚才添加的用户名和密码

往下翻,到:Check-out Strategy,有5个选项供选择,默认选择第一个即可。

1、Use‘svn update’ as much as possible
(1)第一次发布把工作空间清空,然后checkout一份到工作空间
(2)以后更新的时候只要svn里面的文件没有更新就用工作空间的,如果SVN中有文件更新则会同步到工作空间中。
(3)有个局限就是工作空间的文件内容修改了跟svn不一样了,也不会更新了,不过一般不会修改工作空间的文件内容
(4)svn删除了文件,工作目录也会删除
2、Always check out a fresh copy
(1)第一次发布把工作空间清空,然后checkout一份到工作空间
(2)以后的每一次更新都清空工作空间然后checkout一份下来。也就是说svn里有一个文件更新,也会把整个目录checkout一次到工作空间
3、Do not touch working copy, it is updated by other script.
(1)不要更新工作空间,由其他控制更新
4、Emulate clean checkout by first deleting unversioned/ignored files,then ‘svn update’
(1)第一次发布把工作空间清空,然后checkout一份到工作空间
(2)以后更新的时候会判断工作目录下的文件是否在svn里存在,不存在则删除,存在且SVN有新版本则更新,没有新版本则不更新
(3)如果工作空间目录被修改了,则不管有没有新版本都会checkout下svn中的最新版本
(4)svn删除了文件,工作目录也会删除
5、Use‘svn update’ as much as possible,with ‘svn revert’ before update
(1)第一次发布把工作空间清空,然后checkout一份到工作空间
(2)以后更新的时候不会判断工作目录下的文件是否在svn里存在
(3)如果工作空间目录被修改了,则不管有没有新版本都会checkout下svn中的最新版本
(4)svn删除了文件,工作目录也会删除 ————————————————
设置Poll SCM
设置每分钟轮询一次,主要监测代码迭代更新,如果有新版本,则构建,否则,不构建

添加构建步骤
由于我们的Jenkins部署在本地,所以选择:Execute Windows batch command即可,填写:python main.py执行项目


点击保存,项目添加完成,点击Build Now立即构建启动项目,第一次构建,会先去SVN远程仓库拉取代码到Jenkins本地的工作空间

项目启动成功,正在运行

实现当有新的迭代代码提交时,Jenkins能够自动构建,并且在构建完成后自动触发下一个构建。实现一个连续的自动化流程,而不需要手动干预
1、创建Pipeline项目,命名为:Aci-EM_Pipeline

2、配置
-
设置不允许并发构建(Do not allow concurrent builds)
-
设置轮询 SCM(时间根据实际需求设置)
-
编写Pipeline script脚本
1 pipeline {
2 agent any
3
4 stages {
5 stage("Autotest") {
6 steps {
7 script {
8 // 检出代码
9 checkout([$class: 'SubversionSCM',
10 additionalCredentials: [],
11 excludedCommitMessages: '',
12 excludedRegions: '',
13 excludedRevprop: '',
14 excludedUsers: '',
15 filterChangelog: false,
16 ignoreDirPropChanges: false,
17 includedRegions: '',
18 locations: [[
19 credentialsId: '238c9f81-94f9-4dec-bb25-af703b485422',
20 depthOption: 'infinity',
21 ignoreExternalsOption: true,
22 local: '.',
23 remote: 'https://svn.svnbucket.com//trunk/'
24 ]],
25 quietOperation: true,
26 workspaceUpdater: [$class: 'UpdateUpdater']])
27
28 // 执行自动化部署
29 bat 'python main.py'
30 }
31 }
32 }
33 }
34
35 post {
36 success {
37 echo 'Autotest succeeded!'
38 }
39 failure {
40 echo 'Autotest failed!'
41 }
42 }
43 }
转载于:https://www.cnblogs.com/guoxiong/p/18104222



浙公网安备 33010602011771号