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。

相关推荐
%KT%3 小时前
ubuntu系统部署docker
运维·docker·容器
十二同学啊3 小时前
Docker 容器化技术详解:镜像、容器、网络与应用部署设计
网络·docker·eureka
I'mChloe3 小时前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
江湖有缘4 小时前
Docker实战 | 使用Docker部署Readeck书签管理工具
java·docker·eureka
十二同学啊4 小时前
Python FastAPI 项目使用 Docker 部署并映射端口(完整教程)
python·docker·fastapi
bing_feilong5 小时前
vscode: ssh Got bad result from install script
ide·vscode·ssh
java_logo5 小时前
Docker 部署 Halo:轻松搭建开源个人博客
docker·容器·开源·博客·开源博客·halo·轩辕镜像
Linux实战笔记5 小时前
Docker多阶段构建优化生产配置手记:镜像瘦身最佳实践
ci/cd·docker·生产环境·多阶段构建·镜像瘦身
誰能久伴不乏5 小时前
QT工业上位机一次「指令静默丢失」的排查
qt·docker·github
TTATTC5 小时前
定时增量每 5 秒全表扫一遍?我用 DBSyncer 跑了三组对照实验才找到原因
docker·开源