持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第18天,点击查看活动详情
这里用的是写的一个小demo示例,通过Jenkins部署的
要想熟练掌握Jenkins的使用,需要对docker很熟悉!!!
所以我们不捉急,慢慢来学吧
整合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
部署成功啦!!!