阅读量:2
目录
目标服务器拉取镜像,并运行
准备脚本
- 创建deploy.sh文件,并赋予执行权限
vi deploy.sh
chmod a+x deploy.sh
- 编写shell脚本
#!/bin/bash harbor_address=$1 harbor_repo=$2 project=$3 version=$4 host_port=$5 container_port=$6 imageName=$harbor_address/$harbor_repo/$project:$version echo $imageName #查看正在运行容器的ID 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 $imageName fi docker login -u admin -p Harbor12345 ${harbor_address} docker pull $imageName docker run -d -p $host_port:$container_port --name $project $imageName echo "SUCCESS"
- 执行deploy脚本
./deploy.sh 192.168.171.111:80 repository jenkins-demo V3.0.0 8081 8080
修改任务配置
- 移动上面的shell脚本到环境变量下,全局可执行
echo $PATH
mv /home/deploy.sh /usr/bin/
- 配置目标服务器,之前配置了一个113,再添加一个110
- 修改任务配置,添加参数
- 修改任务配置,目标服务器执行shell脚本
- deploy.sh脚本复制一份到113服务器
scp deploy.sh 192.168.171.113:/usr/bin/
- 重新构建
- 访问110、113的服务