Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)


前言

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

Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第1张图片用idea创建一个springboot项目
pom文件相应位置添加以下内容内容:


                com.spotify
                docker-maven-plugin
                1.0.0
                
                
                    
                    ${project.artifactId}
                    
                    ${project.basedir}/src/main/resources
                    
                    
                        ${project.version}
                    
                    120.48.5.135:5000
                    true
                    120.48.5.135:5000/${project.artifactId}
                    
                    
                        
                            /
                            ${project.build.directory}
                            ${project.artifactId}.jar
                        
                    
                
            
	

在项目${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安装成功后先创建一个任务
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第2张图片
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第3张图片
配置gitee
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第4张图片
添加gitee账户
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第5张图片
添加后成功后可以在该区域选择
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第6张图片
配置自动构建,当代码更细时Jenkins自动部署,这里需要在gitee上配置Gitee WebHook 密码
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第7张图片
gitee上配置Gitee WebHook 密码Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第8张图片
构建
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第9张图片
脚本内容:


```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构建命令
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第10张图片
输入命令:clean package -f pom.xml -DskipTests docker:build
再增加shell部署命令:
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第11张图片

docker run --name automation -p 10000:10000 -idt 120.48.5.135:5000/automation:0.0.1
保存并退出后运行服务,如图所示
Docker+Jenkins+Gitee+springBoot实现自动化流水线实战(一)_第12张图片
注:文中的ip地址以linux机器ip为准

总结

以上就是Docker+Jenkins+Gitee+springBoot实现自动化流水线实战,有很多不足,欢迎大家指正,互相交流,文中引用链接,如有侵权,请及时联系我们将予以删除,感谢。

你可能感兴趣的:(jar,java,maven,jenkins,docker)