Jenkins将Harbor镜像拉取到目标服务器

Jenkins将Harbor镜像拉取到目标服务器

将此文章写给我最心爱的女孩
目标服务器准备脚本文件

  • 流程
    在这里插入图片描述
    jenkins需要把 harbor地址、harbor仓库、镜像名、镜像版本、主机端口、容器端口告诉目标服务器,因此需要6个参数给脚本

1.创建shell脚本并授予可执行权限

touch deploy.sh 
chmod a+x deploy.sh 

2.编写脚本

#!/bin/bash
harbor_addr=$1
harbor_repo=$2
project=$3
version=$4
container_port=$5
host_port=$6

imageName=$harbor_addr/$harbor_repo/$project:$version

echo $imageName

containerId=`docker ps -a | grep ${project} | awk '{print $1}'`

echo $containerId

if [ "$containerId" != "" ];then
        docker stop $containerId
        docker rm $containerId
fi

tag=`docker images | grep ${project} | awk '{print $2}' `
echo $tag
 
if [ "$tag" =~ "$version" ];then
        docker rmi -f $imageName
fi          
            
docker login -u admin -p Harbor12345 $harbor_addr
           
docker pull $imageName
              
docker run -d -p $container_port:$host_port --name $project $imageName

echo "SUCCESS"                           

运行脚本

 ./deploy.sh 192.168.85.139 npy lover_story v3.0.0 8088 8082

3.jenkins配置

参数化构建:
在这里插入图片描述
构建后操作:
在这里插入图片描述
当构建之后,就会执行目标服务器的脚本文件去下载部署镜像了。

会出现的错误

DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            Install the buildx component to build images with BuildKit:
            https://docs.docker.com/go/buildx/

invalid argument "lover_story:origin/master" for "-t, --tag" flag: invalid reference format
See 'docker build --help'.
Build step 'Execute shell' marked build as failure
SSH: Current build result is [FAILURE], not going to run.
Finished: FAILURE

一定要把脚本文件移动到 /usr/bin目录下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值