Jenkins+Docker自动化部署项目

时间:2022-01-19 00:52:47

看到了一篇文章,实操一下自动部署的感觉。参看地址:原文

首先更新docker,我更新到了  

[root@localhost springboot]# docker --version
Docker version 23.0.1, build a5ee5b1

跟新步骤:

yum update

#卸载旧版本
yum remove docker  docker-common docker-selinux docker-engine

#安装软件包
yum install -y yum-utils device-mapper-persistent-data lvm2

#设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#安装docker
yum install docker-ce

#启动和自动开机启动
systemctl start docker
systemctl enable docker

docker --version

安装jenkins,我这里用镜像和文章不一样,文章的连接不到。并且,这里多绑定了docker和时间

docker run --name jenkins -u root -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /etc/localtime:/etc/localtime jenkins/jenkins:lts

访问jenkins:http://ip:port

#查看密码
docker logs -f jenkins

安装推荐插件:略

创建管理员账户:略

登录后,安装需要的插件。先把老旧插件升级。

Maven Integration

Publish Over SSH

Gitee

安装完成后。重启。。。

准备好jdk和maven,至于maven仓库我也直接备了,省的下载。

配置JDK,推荐手动安装,自动安装搞不懂怎么回事,一直报错。

Jenkins+Docker自动化部署项目

配置maven

 Jenkins+Docker自动化部署项目

配置maven配置文件路径

Jenkins+Docker自动化部署项目

 好了,配置完了。

配置项目:

新建任务

Jenkins+Docker自动化部署项目

Jenkins+Docker自动化部署项目 设置maven,填写clean install -Dmaven.test.skip=true

Jenkins+Docker自动化部署项目

 保存后进行构建,测试项目拉取,maven打包是否正常。

Jenkins+Docker自动化部署项目

测了好多次正常了。

此时可以在项目位置查看打包情况

cd /var/jenkins_home/workspace

 接下来编写docker,这里加到项目中,在项目中写一个Dockerfile

我是自己先做了jdk镜像,再使用自己的jdk镜像做项目镜像

Dockerfile:

FROM openjdk8:latest

MAINTAINER PCM

VOLUME /tmp

ADD target/springboot-1.0-SNAPSHOT.jar /usr/local/

ENTRYPOINT ["java", "-jar", "/usr/local/springboot-1.0-SNAPSHOT.jar"]

然后去jenkins配置项目后续的操作

cd /var/jenkins_home/workspace/springboot
docker stop springboot || true
docker rm springboot || true
docker rmi springboot || true
docker build -t springboot .
docker run --name=springboot -d -p8081:8081 springboot

 好了,再次构建就完成了。自动拉取打包运行为docker服务

Jenkins+Docker自动化部署项目