gitLab+maven+jenkins自动化部署

从0开始,步骤如下: 

  1. gitLab安装,创建用户并上传project

  2. git安装及常用命令

  3. maven安装及使用

  4. Jenkins安装 

  5. 配置Jenkins,实现从gitLab拉取项目使用maven打包通过SSH发布到远程Linux服务器

目录

5.1系统管理(插件管理、系统设置、凭据配置、全局工具配置)

5.1.1 插件管理

5.1.2 系统设置​​

5.1.3 添加凭据​

5.1.4 全局工具配置 ​​​​

5.2 工程配置 


 

  • 5.1系统管理(插件管理、系统设置、凭据配置、全局工具配置)

jenkins的作用如其图标,就像个大管家,通过把代码仓库(git)、编译打包工具(maven)、自动化测试工具、应用服务器等关联起来, 实现自动化测试运维。

所以使用jenkins的主要操作就是如何正确配置上述各个工具,并编写少量脚本使其按期望执行。而且jenkins的配置非常灵活。

 gitLab+maven+jenkins自动化部署_第1张图片

 

5.1.1 插件管理

在jenkins上配置git、maven以及通过ssh协议传输jar包到服务器都要先下载安装相关插件: 

Git plugin,GitLab

Maven Integration plugin

SSH plugin

在插件管理里查找并安装即可; 若未连网,复制插件的.jpi文件到Jenkins→plugins文件夹下,重启Jenkins就自动安装了。

重启命令:(以管理员权限打开控制台)

net stop jenkins

net start jenkins

gitLab+maven+jenkins自动化部署_第2张图片

gitLab+maven+jenkins自动化部署_第3张图片

 

5.1.2 系统设置

点击右边的问号都可以看到对应项的帮助说明

gitLab+maven+jenkins自动化部署_第4张图片gitLab+maven+jenkins自动化部署_第5张图片

5.1.3 添加凭据

gitLab+maven+jenkins自动化部署_第6张图片

 

前置条件:在gitLab新建jenkins用户,获得公钥、私钥

也可在全局工具配置时,点击“添加”按钮添加凭据。 gitLab+maven+jenkins自动化部署_第7张图片

gitLab+maven+jenkins自动化部署_第8张图片

 

5.1.4 全局工具配置 

gitLab+maven+jenkins自动化部署_第9张图片gitLab+maven+jenkins自动化部署_第10张图片gitLab+maven+jenkins自动化部署_第11张图片gitLab+maven+jenkins自动化部署_第12张图片

 

  • 5.2 工程配置 

 

 新建任务,选自由风格gitLab+maven+jenkins自动化部署_第13张图片gitLab+maven+jenkins自动化部署_第14张图片

接下来就是在这一个“配置”页面里,完成各项配置: 

gitLab+maven+jenkins自动化部署_第15张图片gitLab+maven+jenkins自动化部署_第16张图片

 选择定时构建,使用CRON表达式,每天下午16点构建一次:

gitLab+maven+jenkins自动化部署_第17张图片gitLab+maven+jenkins自动化部署_第18张图片

maven打包命令:

clean package -Dmaven.test.skip=true

在本地备份jar包命令:

copy "C:\Program Files (x86)\Jenkins\workspace\test\target\test-*.jar" C:\backup

gitLab+maven+jenkins自动化部署_第19张图片

此处踩坑:项目构建时发现传输到服务器的文件数是0,原因是文件路径不对。sources files的路径里已经包含了workspace/工程名 路径,从target这层开始写就行了。

传输到服务器的执行命令文件runDeployScript.sh也是重点:

whoami
pwd
java -version

#echo "*************************************start to backup备份到服务器*******************************************"
#cp /home/zzxt/web/zzxt/test/test-0.0.1-SNAPSHOT.jar /home/zzxt/web/zzxt/test/jar_backup/zagl-rkxx-jjm-compare-0.0.1-SNAPSHOT-$(date +%Y%m%d-%T).jar

echo "*************************************start to kill thread停止当前运行的jar包**************************************"
ps -ef|grep java|grep 'test-'|grep -v grep|awk '{print $2}'|xargs kill -9

echo "*************************************start to delete old jars删除当前运行的jar包**************************************"
find /home/zzxt/web/zzxt/test -cmin +0.5 -name "*.jar" -delete

echo "*************************************start java -jar运行新jar包*******************************************"
nohup /home/zzxt/java/jdk1.8.0_191/bin/java -jar /home/zzxt/web/zzxt/test/test-*.jar 1>/home/zzxt/web/zzxt/test/nohup.out 2>&1 &

 

你可能感兴趣的:(Jenkins)