sh脚本:

#!/bin/bash

wars=("war包名")
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/ihr/$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

#!/bin/bash

wars=("war包名")
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/ihr/$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

FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/服务名:v20240704172002
RUN rm -rf /usr/local/tomcat/服务名-1.0-SNAPSHOT.war

FROM ctg-registry-vpc.cn-shenzhen.cr.aliyuncs.com/ihr/服务名:v20240704172002
RUN rm -rf /usr/local/tomcat/服务名-1.0-SNAPSHOT.war

更多推荐