Linux通过自动脚本自动化推送k8s Docker镜像

推送脚本 deploy.sh

#!/bin/bash

wars=("服务")

services=("服务")

nameSpace=hr-x

TAG="v$(date "+%Y%m%d%H%M%S")"

for i in "${!services[@]}"; do

serverName={services\[i]};

DOCKERFILE="./Docker_$serverName"

imageName="ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/目录/serverName:TAG"

2. 构建新镜像(直接使用现有 Dockerfile)

docker build -t imageName . -f DOCKERFILE

3. 推送镜像

docker push $imageName

echo "操作完成:新镜像已推送至 $imageName"

4. 更新容器 -n 命名空间 --record 记录发布节点,方便回滚

kubectl set image deployment/serverName serverName=imageName -n nameSpace --record

kubectl rollout restart deployment/serverName -n nameSpace

done

bash 复制代码
#!/bin/bash

wars=("服务")
services=("服务")
nameSpace=hr-x
TAG="v$(date "+%Y%m%d%H%M%S")"
for i in "${!services[@]}"; do
  serverName=${services[$i]};
  DOCKERFILE="./Docker_$serverName"
  imageName="ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/目录/$serverName:$TAG"
  # 2. 构建新镜像(直接使用现有 Dockerfile)
  docker build -t $imageName . -f $DOCKERFILE
  # 3. 推送镜像
  docker push $imageName
  echo "操作完成:新镜像已推送至 $imageName"
  # 4. 更新容器 -n 命名空间 --record 记录发布节点,方便回滚
  kubectl set image deployment/$serverName $serverName=$imageName -n $nameSpace --record
  kubectl rollout restart deployment/$serverName -n $nameSpace
done

DockerFile (Docker_$serverName )

FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/目录/服务:v202405101506

RUN rm -rf /usr/local/tomcat/webapps/服务.war

ADD 服务.war /usr/local/tomcat/webapps/

bash 复制代码
FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/目录/服务:v202405101506
RUN rm -rf /usr/local/tomcat/webapps/服务.war
ADD 服务.war /usr/local/tomcat/webapps/

需要把服务替换成真是的服务

相关推荐
测试员周周4 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
小鹏linux7 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
北京耐用通信7 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆7 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇8 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青9 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望9 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦9 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫10 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
迁移科技10 小时前
告别人工分拣!迁移科技 AI+3D 视觉让机器人 “看懂” 无序抓取
人工智能·科技·3d·机器人·自动化·视觉检测