使用Jenkins2.6 集成Maven与Git插件做持续集成,同时编写Shell脚本备份与发布(需要稍微知道点Linux/毕竟基于Centos PS:本人Linux也是菜鸡)
- 下载Jenkins2.6
官方网站:https://jenkins.io/
下载地址:https://jenkins.io/download/
下载
1 2 3 4 5 6 7 8
|
# 指定端口为 18080 且 后台运行 jenkins 并且日志输出到 Jenkins.log中去 [root@localhost jenkins]# nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=18080 > jenkins.log &
# 我禁用了 Centos7 自带的防火墙,安装的是 iptables [root@localhost jenkins]# service iptables stop
# 查看启动日志 [root@localhost jenkins]# tail -n 30 jenkins.log
|
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
|
七月 21, 2017 2:10:21 下午 jenkins.install.SetupWizard init 信息:
************************************************************* ************************************************************* *************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation:
9fd9b9c8f50247b79b30674c83d6f560 #这一串就是我们的首次访问密码
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
************************************************************* ************************************************************* *************************************************************
七月 21, 2017 2:11:02 下午 hudson.model.UpdateSite updateData 信息: Obtained the latest update center data file for UpdateSource default 七月 21, 2017 2:11:03 下午 hudson.model.UpdateSite updateData 信息: Obtained the latest update center data file for UpdateSource default 七月 21, 2017 2:11:03 下午 hudson.WebAppMain$3 run 信息: Jenkins is fully up and running 七月 21, 2017 2:11:04 下午 hudson.model.DownloadService$Downloadable load 信息: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller 七月 21, 2017 2:11:20 下午 hudson.model.DownloadService$Downloadable load 信息: Obtained the updated data file for hudson.tools.JDKInstaller 七月 21, 2017 2:11:20 下午 hudson.model.AsyncPeriodicWork$1 run 信息: Finished Download metadata. 60,360 ms
|
我的主机IP:192.168.18.137
那么应该访问:http://192.168.18.137:18080
- 安全认证
安全认证
- 插件安装
插件安装
- 耐心等待
网络好的童鞋会灰常快,可惜我的网速贼渣,在这一步等了差不多有二十来分钟
耐心等待
- 创建用户
创建用户
- 安装完成
到这一步说明我们Jenkins已经安装完成并且自带了部分插件(GIT,Email..),接下来 我们来配置JDK与Maven,以及Maven插件
安装完成
- Maven插件安装
系统管理
-> 管理插件
-> 可选插件
-> 安装完毕
-> 重启Jenkins
-> 刷新浏览器
下图为过滤插件且安装
Maven插件安装
- 全局配置(JDK/Maven)
系统管理
-> Global Tool Configuration
-> 配置JDK
-> 配置Maven
-> 点击Save
全局配置
- 项目配置
首页
-> 开始创建一个新项目
-> 构建一个自由风格的软件项目/构建一个Maven项目(如果没安装Maven插件那就构建自由风格的,顶多就是通过构建完成后脚本多一句 mvn package)
-> 构建一个Maven项目
创建项目
- 配置GIT账号
配置GIT
- 配置指令与Shell
配置指令与Shell
- Shell 脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
[root@localhost battcn-workspace]# touch start-battcn.sh
[root@localhost battcn-workspace]# chmod 755 start-battcn.sh
#!/bin/sh echo "====================================开始====================================" #杀掉8080端口的进程 kill -9 `lsof -t -i:8080` #进入到存放jar目录 cd /usr/local/battcn-workspace #备份jar包(也可以先备份在杀进程) cp -p /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar ./backups/battcn-swagger-1.0.0-`date +%Y-%m-%d-%H:%M:%S`.jar #删除当前目录下的JAR rm -rf battcn-swagger-1.0.0.jar #从Jenkins缓存目录拷贝 cp /root/.jenkins/workspace/battcn-swagger/target/battcn-swagger-1.0.0.jar . #查看备份是否成功 ls -al /usr/local/battcn-workspace/backups/battcn-swagger-1.0.0-*.jar #后台启动,且指定了开发环境和内存 nohup java -jar /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar -Xms512m -Xmx1024m --spring.profiles.active=dev > /dev/null & echo "====================================结束===================================="
|
- 开始构建
开始构建
- 查看日志
开始构建
只要Jenkins告诉我们构建成功 15:44:03 Finished: SUCCESS
就OK
查看日志
ps aux | grep battcn-swagger
一下 代表我们项目已经成功构建了,且自动备份(第一次是不会备份,因为我们没有原始包,但是以后每次发布都会将)
1 2 3
|
[root@localhost battcn-workspace]# ps aux | grep battcn-swagger root 16301 9.2 21.2 4060732 397036 pts/1 Sl 15:43 0:28 java -jar /usr/local/battcn-workspace/battcn-swagger-1.0.0.jar -Xms512m -Xmx1024m --spring.profiles.active=dev root 16395 0.0 0.0 114712 980 pts/1 S+ 15:49 0:00 grep --color=auto battcn-swagger
|
1 2 3
|
[root@localhost battcn-workspace]# ll backups/ 总用量 22052 -rw-r--r--. 1 root root 22580820 7月 21 15:43 battcn-swagger-1.0.0-2017-07-21-15:43:52.jar
|
- 结束
- 验证
访问:http://192.168.18.137:8080/swagger-ui.html
验证