惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
美团技术团队
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
T
Tailwind CSS Blog
U
Unit 42
C
Check Point Blog
S
SegmentFault 最新的问题
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
罗磊的独立博客
小众软件
小众软件
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net

博客园 - 不懂123

docker多架构镜像 镜像自动注入配置解析 kafka添加用户管理认证 nodejs升级管理 elastic定时清除索引数据 sftp集成设置 kafka3.9集群部署 nginx扩展编译模块 rancher kafka部署 JumpServer使用示例 rancher kafka多监听配置 docker镜像仓库清理迁移 elastic单机多节点集群搭建 fastdfs编译升降版本 监控系统搭建集成实例 rancher服务启动异常 linux使用ssh免密连接windows主机 jenkins pipeline搭建 docker跨平台构建镜像 fastdfs系统异常 mongodb集群用户管理
jenkins远程动态打包镜像
不懂123 · 2026-01-04 · via 博客园 - 不懂123

实现效果

            QQ_1767515681850

           QQ_1767516892223

        先把在jenkins上编译好的jar包传到远程主机,然后在远程主机构建好镜像后再回传到jenkins主机上

流水线配置

            QQ_1767515863101

               QQ_1767515935737

                 QQ_1767516023550

echo "本次构建镜像的名称空间为: $pronamespace"
mvn -Pprod clean -DskipTests=true install

scp -r ./register-center/target/register*.jar root@121:/root/yxh/
ssh root@121.237 "cd /root/yxh/ && sh createimages.sh $pronamespace"

scp -r ./gateway-zuul/target/gateway*.jar root@121:/root/yxh/
ssh root@121.237 "cd /root/yxh/ && sh createimages.sh $pronamespace"

scp -r ./main/target/main*.jar root@121:/root/yxh/
ssh root@121.237 "cd /root/yxh/ && sh createimages.sh $pronamespace"

scp -r ./sdc-schedule/target/sdc*.jar root@121:/root/yxh/
ssh root@121.237 "cd /root/yxh/ && sh createimages.sh $pronamespace"

scp -r ./report-server/target/report*.jar root@121:/root/yxh/
ssh root@121.237 "cd /root/yxh/ && sh createimages.sh $pronamespace"

echo "统一把远程的镜像文件拷贝到工作空间目录"
scp root@121.23:/root/yxh/*.gz .

echo "执行最后的远程清理操作"
ssh root@121.2 "cd /root/yxh/ && rm -fr *.tar.gz"

jenkins流水线编写

 远程主机设置

          QQ_1767516252850

          QQ_1767516291115

         QQ_1767516344665

CURDIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd )
cd $CURDIR

docker build -t  registry.harbor.com:58443/namespace/servername .

build.sh

FROM registry.harbor.com:58443/library/openjdk:8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
VOLUME /tmp
ADD jarname  jarname
ADD license.json license.json
ADD ca.crt ca.crt
RUN bash -c 'touch /jarname'
ENTRYPOINT ["java","-Dspring.config.location=/application-prod.yml","-Djava.security.egd=file:/dev/./urandom","-jar","/jarname","/license.json"]

Dockerfile

#!/bin/bash

jarnamespace=$1

rm -fr build.sh
rm -fr Dockerfile
cp -r shelltemplates/*  .

deployapp=$(ls *.jar | cut -d'/' -f2-)
echo $deployapp
servername="${deployapp%.*}"
echo $servername

sed -i "s/jarname/$deployapp/g" Dockerfile
sed -i "s/namespace/$jarnamespace/g" build.sh
sed -i "s/servername/$servername/g"  build.sh


echo "开始构建镜像"
sh build.sh

echo "开始保存镜像到本机目录"
docker save registry.harbor.com:58443/$jarnamespace/$servername | gzip > $servername.tar.gz

echo "删除目录下的缓存文件"
rm -fr *.jar

createimages.sh

      QQ_1767516707923

      通过jenkins远程打包成功

多项目远程打包构建

         QQ_1767593618396

        QQ_1767593798682

       QQ_1767593975746

         多个项目远程动态打包配置

功能升级

echo "本次构建镜像的名称空间为: $pronamespace"
cd ./dataprocess && mvn -Pprod clean -DskipTests=true install

ssh root@111"rm -fr /root/yxh/flink/analysis*.jar"
scp -r ./dataprocess/analysis-common/target/analysis-common*.jar root@121.237:/root/yxh/flink/
scp -r ./dataprocess/analysis-engine/target/analysis-engine*.jar root@121.2311:/root/yxh/flink/
scp -r ./dataprocess/analysis-stream-dependency/target/analysis-stream-dependency*.jar root@12140:/root/yxh/flink/
ssh root@121 "cd /root/yxh/flink/ && sh createimages.sh $pronamespace"

echo "统一把远程的镜像文件拷贝到218指定目录"
scp root@1211:/root/yxh/flink/*.gz .
ssh admin@192.168.30.218 "mkdir -p /home/admin/one-deploy/arm-images/$savedir"
scp -r  *.gz admin@192.168.30.218:/home/admin/one-deploy/arm-images/$savedir/
rm -fr *.gz
ssh admin@192.168.30.218 "cd /home/admin/one-deploy/arm-images/$savedir &&  ls | xargs -I {} md5sum {} > md5sum.txt"


echo "执行最后的远程清理操作"
ssh root@121.1 "cd /root/yxh/flink/ && rm -fr *.tar.gz"
ssh root@121.21 "docker images | grep $pronamespace | grep flink | awk '{print $3}' | xargs -I {} docker rmi -f {}"

View Code

  清除镜像