整合Jenkins
代码上传到码云
省略…
环境配置
代码中需要包含Dockerfile文件
在项目pom文件中指定打包类型,包含build部分内容
安装jenkins环境
在centos环境安装以下环境
- java
- maven
- git
- docker
其中maven的setttings文件最好改成国内源,不然构建的会很慢!
配置环境变量
部署jenkins
[root@mysql jenkins]# ll total 92716 -rw-r--r-- 1 root root 94928325 May 20 07:19 jenkins.war [root@mysql jenkins]# nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out & [1] 5570 [root@mysql jenkins]# nohup: ignoring input and redirecting stderr to stdout
登录
下面这一步不太好用,退出之后还是没有updates文件夹,可以在网上下载好插件,然后把插件复制到plugins再打开就有这些功能了
jdk环境配置
git配置
maven配置
保持配置即可…
构建作业
构建思路:
- 建立任务
- 选择仓库代码
- 选择执行作业的方式
1、建立任务
2、选择仓库代码
3、选择执行作业的方式
代码如下:
#!/bin/bash #maven打包 mvn clean package echo 'package ok!' echo 'build start!' cd ./infrastructure/eureka_server service_name="eureka-server" service_prot=8761 #查看镜像id IID=$(docker images | grep "$service_name" | awk '{print $3}') echo "IID $IID" if [ -n "$IID" ] then echo "exist $SERVER_NAME image,IID=$IID" #删除镜像 docker rmi -f $service_name echo "delete $SERVER_NAME image" #构建 docker build -t $service_name . echo "build $SERVER_NAME image" else echo "no exist $SERVER_NAME image,build docker" #构建 docker build -t $service_name . echo "build $SERVER_NAME image" fi #查看容器id CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}') echo "CID $CID" if [ -n "$CID" ] then echo "exist $SERVER_NAME container,CID=$CID" #停止 docker stop $service_name #删除容器 docker rm $service_name else echo "no exist $SERVER_NAME container" fi #启动 docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name #查看启动日志 docker logs $service_name
第一次可能有些慢,之后就会很快
[root@mysql jenkins]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 96d5a7108ef9 demojenkins2 "java -jar /demojenk…" 2 minutes ago Up 2 minutes demojenkins2
部署成功啦!!!