Jenkins+Docker 实现一键自动化部署项目!步骤齐全,少走坑路
程序员的成长之路
共 3404字,需浏览 7分钟
·
2023-03-11 05:06
阅读本文大概需要 3.5 分钟。
来自:https://blog.csdn.net/zqqiang0307/article/details/120458586
本文章实现最简单全面的Jenkins+docker+springboot 一键自动部署项目,步骤齐全,少走坑路。
安装docker
确保 yum 包更新到最新。
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 #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
yum install <自己的版本> # 例如:sudo yum install docker-ce-17.12.0.ce
启动和开机启动
systemctl start docker
systemctl enable docker
验证安装是否成功
docker version
安装Jenkins
安装J enkins
docker run --name jenkins -u root --rm -d -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
http://{部署Jenkins所在服务IP}:8080
初始化 Jenkins
https://www.jenkins.io
解锁 Jenkins
docker exec -it {Jenkins容器名} bash
docker exec -it jenkins bash
cat /var/lib/jenkins/secrets/initialAdminPassword
安装插件
创建管理员用户
系统配置
安装需要插件
首页
】–【系统管理
】–【插件管理
】–【可选插件
】安装Maven Integration 安装Publish Over SSH(如果不需要远程推送,不用安装) 如果使用Gitee 码云,安装插件Gitee(Git自带不用安装)
配置Maven
首页
】–【系统管理
】–【全局配置
】,拉到最下面maven–maven安装创建任务
新建任务
新建任务
】,输入任务名称,点击构建一个自由风格的软件项目源码管理
源码管理
】–【Git
】,输入仓库地址,添加凭证,选择好凭证即可。构建触发器
构建触发器
】–【构建
】–【增加构建步骤
】–【调用顶层Maven目标
】–【填写配置
】–【保存
】clean install -Dmaven.test.skip=true
保存
保存
】按钮即可测试
构建
查看日志
查看项目位置
cd /var/jenkins_home/workspace
ll
命令即可查看是否存在运行项目
Dockerfile
FROM jdk:8
VOLUME /tmp
ADD target/zx-order-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["Bash","-DBash.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]
修改jenkins任务配置
-t:指定新镜像名
.:表示Dockfile在当前路径
cd /var/jenkins_home/workspace/zx-order-api
docker stop zx-order || true
docker rm zx-order || true
docker rmi zx-order || true
docker build -t zx-order .
docker run -d -p 8888:8888 --name zx-order zx-order:latest
我上图用了docker logs -f 是为了方便看日志,真实不要用,因为会一直等待日志,构建任务会失败 加|| true 是如果命令执行失败也会继续实行,为了防止第一次没有该镜像报错
保存
构建
验证
docker ps 查看是否有自己的容器
docker logs 自己的容器名 查看日志是否正确
推荐阅读:
互联网初中高级大厂面试题(9个G) 内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper......等技术栈!
⬇戳阅读原文领取! 朕已阅
评论