[z]https://segmentfault.com/a/1190000014325300
[z]https://my.oschina.net/sojie/blog/663466
[z]https://my.oschina.net/u/2937605/blog/1801893
http://niocoder.com/2018/06/22/%E5%BC%80%E5%8F%91%E5%88%A9%E5%99%A8Jrebel%E9%83%A8%E7%BD%B2SpringBoot%E9%A1%B9%E7%9B%AE/
实践性尝试,这里只在一台虚拟机下操作。
1.vmware 下centos 安装
设置centos 桥接模式
参考:https://www.cnblogs.com/loven...
2.centos 软件安装
1) docker 安装
yum install -y docker
2)JDK 安装
参考:https://blog.csdn.net/evan_chen_1/article/details/55097252
3)Maven 安装
参考:https://blog.csdn.net/mynameissls/article/details/54140176
4)Git 安装
yum install git
5)安装jenkins
参考:https://www.cnblogs.com/woshimrf/p/6103366.html
3.Jenkins 配置
安装插件
Locale plugin 设置中文界面
设置参考: https://www.cnblogs.com/hanxiaohui/p/8136621.html
Publish Over SSH 配置SSH登陆centos
使用Publish Over SSH插件实现远程自动部署
参考: https://www.cnblogs.com/YatHo/p/6739814.html
本例配置如下
Locale plugin
Publish Over SSH
4 创建JOB 名字为cicd_demo
5.配置cicd_demo任务
本例演示项目地址为:https://github.com/chendishen...
1)配置General
上图中git项目是我的一个测试项目
2)源码管理
3)构建触发器
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。我的配置如下:
勾选 Poll SCM ,日程表填入: `* * * * *` (5个*),忽视警告
4)构建环境
不设置
5)构建
maven version 选择 maven
Goals : clean package
6)构建后操作
在配置最后找到“增加构建后操作步骤”,选择"Send build artifacts over SSH"
配置说明:
1.SSH Server Name 就是前面配置的Publish Over SSH 的名称
2.Source files 是指源文件位置,这个位置是在jenkins的工作目录下的job文件在内 ,
(/var/lib/jenkins/workspace/cicd_demo 默认路径 cicd_demo是我的job名称,maven 编译后会在此文件内创建 target 目录, cicd-demo*.jar是构建后jar包命名前缀+版本号
见pom.xml 中 artifactId )
3.Remove prefix 删除前缀 target
4.Remote directory 远程目录,结合前面Publish Over SSH配置就是 /root/test 目录,这些配置完毕以后, jenkins 在编译成功后,就会自动把 文件 copy 到 B主机下的/root/test
5.Exec command , 我这里的操作是吧 主机 /root/test 的文件 复制到 我自己的 /usr/local/project/cicd_demo下 然后进入到此目录,执行我的 buildimage.sh 和 run.sh
配置中的目录和文件需要提前创建
mkdir /usr/local/project/cicd_demo
在/usr/local/project/cicd_demo目录下
文件说明
buildimage.sh 用来构建镜像
Dockerfile 为构建镜像所需文件
run.sh 用来启动容器
buildimage.sh创建
vi /usr/local/project/cicd_demo/buildimage.sh
buildimage.sh 内容:
docker build -t cicd_demo:1.0 .
Dockerfile创建
vi /usr/local/project/cicd_demo/Dockerfile
Dockerfile内容:
# 版本信息
#java:latest 为centos官方java运行环境镜像,600多M ,可以提前pull到主机本地
FROM java:latest
MAINTAINER cds "352826256@qq.com"
#实际上可以配置成变量
ADD cicd-demo-1.0.jar /usr/local/jar/
RUN mv /usr/local/jar/cicd-demo-1.0.jar /usr/local/jar/app.jar
#开启内部服务端口 cicd-demo 项目端口
EXPOSE 8090
CMD ["java","-jar","/usr/local/jar/app.jar"]
run.sh 创建
vi /usr/local/project/cicd_demo/run.sh
run.sh 内容 :
docker rm -f cicd_demo
docker run --name="cicd_demo" -p 8090:8090 -d cicd_demo:1.0
6.cicd_demo任务运行
控制台输出如下
至此自动构建任务完成
7.结果验证
在物理机浏览器输入 http://192.168.1.104:8090/index