前言
Docker+Jenkins+Gitee持续集成与持实现自动化流水线实战,安装环境Centos7(一)
提示:以下是本篇文章正文内容,下面案例可供参考
1.安装启动docker
1.1安装docker
1、yum 包更新到最新 yum update #
2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动 依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker- ce.repo
4、安装docker,出现输入的界面都按 y yum install -y docker-ce
5、查看docker版本,验证是否验证成功 docker -v
1.2配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://8cqoh10g.mirror.aliyuncs.com”]
}
EOF sudo systemctl daemon-reload sudo systemctl restart docker
1.3安装私有仓库
拉取镜像 docker pull registry
创建容器 docker run -d -p 5000:5000 registry
配置私有仓库地址 vim /etc/docker/daemon.json
{
“insecure-registries”: [“192.168.200.133:5000”]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
启动本地仓库容器 docker start 容器ID
1.4访问私有仓库
http://127.0.0.1:5000/v2/_catalog
如果访问不到,关闭防火墙:
systemctl stop firewalld
2.创建项目demo
用idea创建一个springboot项目
pom文件相应位置添加以下内容内容:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<!--docker镜像相关的配置信息-->
<configuration>
<!--镜像名,这里用工程名-->
<imageName>${project.artifactId}</imageName>
<!--Dockerfile文件所在目录-->
<dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>
<!--TAG,这里用工程版本号-->
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<registryUrl>120.48.5.135:5000</registryUrl>
<pushImage>true</pushImage>
<imageName>120.48.5.135:5000/${project.artifactId}</imageName>
<!--构建镜像的配置信息-->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.artifactId}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
在项目${project.basedir}/src/main/resources该目录下创建Dockerfile文件,文件内容如下:
FROM java:8
#VOLUME 指定了临时文件目录为/tmp。
#其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#将jar包添加到容器中并更名为app.jar
ADD automation.jar app.jar
#运行jar包
RUN bash -c ‘touch /app.jar’
ENTRYPOINT [“java”,“-Djava.security.egd=file:/dev/./urandom”,“-jar”,“/app.jar”]
3.Jenkins安装与配置
3.1 Jenkins安装
个人建议利用Tomcat这种方式安装Jenkins
安装流程可参考:https://blog.csdn.net/hanyuce/article/details/100148214
3.2Jenkins配置
Jenkins安装成功后先创建一个任务

配置gitee
添加gitee账户
添加后成功后可以在该区域选择
配置自动构建,当代码更细时Jenkins自动部署,这里需要在gitee上配置Gitee WebHook 密码
gitee上配置Gitee WebHook 密码
构建
脚本内容:
```powershell
#!/bin/bash
result=$(docker ps | grep "127.0.0.1:5000/automation")
echo result
if [[ "$result" != "" ]]
then
echo "stop automation"
docker stop automation
fi
result1=$(docker ps -a | grep "127.0.0.1:5000/automation")
if [[ "$result1" != "" ]]
then
echo "rm automation"
docker rm automation
fi
result2=$(docker images | grep "127.0.0.1:5000/automation")
if [[ "$result2" != "" ]]
then
echo "127.0.0.1:5000/automation"
docker rmi 127.0.0.1:5000/automation:0.0.1
fi
增加maven构建命令
输入命令:clean package -f pom.xml -DskipTests docker:build
再增加shell部署命令:
docker run --name automation -p 10000:10000 -idt 120.48.5.135:5000/automation:0.0.1
保存并退出后运行服务,如图所示
注:文中的ip地址以linux机器ip为准
总结
以上就是Docker+Jenkins+Gitee+springBoot实现自动化流水线实战,有很多不足,欢迎大家指正,互相交流,文中引用链接,如有侵权,请及时联系我们将予以删除,感谢。