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。

相关推荐
SPC的存折4 小时前
6、Docker常用配置
运维·docker·容器
图图玩ai4 小时前
SSH 命令管理工具怎么选?从命令收藏到批量执行一次讲清
linux·nginx·docker·ai·程序员·ssh·可视化·gmssh·批量命令执行
SPC的存折5 小时前
4、Docker私有仓库
运维·docker·容器
SaN-V6 小时前
MacOS 下 VS Code 中 Codex 通过 SSH 连接远程服务器无法使用的问题排查与解决
服务器·macos·chatgpt·ssh·codex
齐潇宇6 小时前
Docker概述与安装
linux·运维·docker·容器
亚空间仓鼠7 小时前
Docker 容器技术入门与实践 (二):Dockerfile文件
运维·docker·容器
亚空间仓鼠7 小时前
Docker 容器技术入门与实践 (一):命令与镜像、容器管理
运维·docker·容器
悟道子HD8 小时前
计算机网络端口记忆指南
计算机网络·http·https·ssh·ftp·端口号·smtp
东北甜妹8 小时前
Docker 多阶段构建
运维·docker·容器
Zhu7588 小时前
【软件部署】docker环境部署nagios
运维·docker·容器