docker+jekins+maven+ssh 持续集成交付部署 jar包

一. docker环境搭建,此处略过。

二. docker部署jekins

2.1 拉取镜像,挂载工作目录,xxxx为宿主机指定工作目录

bash 复制代码
docker pull jenkins/jenkins
docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true 
-v xxxxxxxxxx:/var/jenkins_home jenkins/jenkins

2.2 访问localhost:8080服务,后续根据引导安装插件

2.3 点击系统管理菜单,给jekins安装以下插件、maven-integration-plugin、publish_over_ssh、gitee;并配置jdk、maven环境。

2.4 新建任务->选择构建一个自由风格的软件项目,在源码管理处配置外部gitee的仓库地址,用户名和密码,选择maven版本,并指定要传输的jar、Dockerfile等文件地址,配置ssh server和构建完之后要执行的脚本。涉及到的脚本如下:

bash 复制代码
# Dockerfile
FROM openjdk:17
ADD java-study-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8888
ENTRYPOINT ["nohup","java","-jar","app.jar","--spring.profiles.active=prod"]


# deploy.sh 
docker stop java-study || true
docker rm java-study || true
docker rmi java-study || true
docker build -t java-study .
docker run -d -p 8888:8888 --name java-study java-study:latest


# maven构建完执行的命令
cd /home/jar/
sh /home/jar/deploy.sh

2.5 最后点击立即构建即可实现ci/cd。

相关推荐
C_心欲无痕42 分钟前
Docker 的镜像与容器
运维·docker·容器
Mr. Cao code1 小时前
Docker匿名数据卷实战指南
运维·ubuntu·docker·容器
HehuaTang1 小时前
requests 调大并对齐 limits 提升POD高负载场景下性能
java·docker·kubernetes
星辰&与海2 小时前
Docker 资源调度限制
docker
色空大师4 小时前
maven引入其他项目依赖爆红
java·maven
座山雕~5 小时前
docker---部署与常用命令
运维·docker·容器
TroubleBoy丶7 小时前
麒麟V10-ARM架构Docker启动报错
运维·docker·容器·arm·麒麟v10
Allen-Steven7 小时前
群辉NAS 部署小雅 SSH指令版
运维·ssh
ONExiaobaijs8 小时前
【无标题】
java·开发语言·spring·maven·程序员创富
m0_738120728 小时前
渗透测试——y0usef靶机渗透提权详细过程(插件伪造请求头)
服务器·网络·web安全·ssh·php