看到了一篇文章,实操一下自动部署的感觉。参看地址:原文
首先更新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,推荐手动安装,自动安装搞不懂怎么回事,一直报错。
配置maven
配置maven配置文件路径
好了,配置完了。
配置项目:
新建任务
设置maven,填写clean install -Dmaven.test.skip=true
保存后进行构建,测试项目拉取,maven打包是否正常。
测了好多次正常了。
此时可以在项目位置查看打包情况
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服务