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

推荐订阅源

Latest news
Latest news
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
V
V2EX
博客园 - 司徒正美
B
Blog RSS Feed
AWS News Blog
AWS News Blog
MyScale Blog
MyScale Blog
Scott Helme
Scott Helme
Cisco Talos Blog
Cisco Talos Blog
Last Week in AI
Last Week in AI
NISL@THU
NISL@THU
博客园 - Franky
P
Proofpoint News Feed
博客园_首页
C
CERT Recently Published Vulnerability Notes
雷峰网
雷峰网
S
Schneier on Security
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
G
GRAHAM CLULEY
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
WordPress大学
WordPress大学
The Hacker News
The Hacker News
T
Threatpost
阮一峰的网络日志
阮一峰的网络日志
A
Arctic Wolf
Microsoft Azure Blog
Microsoft Azure Blog
T
The Exploit Database - CXSecurity.com
Engineering at Meta
Engineering at Meta
罗磊的独立博客
T
The Blog of Author Tim Ferriss
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
Kaspersky official blog
SecWiki News
SecWiki News
云风的 BLOG
云风的 BLOG
美团技术团队
C
Cybersecurity and Infrastructure Security Agency CISA
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Security Latest
Security Latest
C
Cyber Attacks, Cyber Crime and Cyber Security
B
Blog
S
Security Affairs

博客园 - 不懂123

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

  清除镜像