jenkis自动化部署docker容器脚本

#!/bin/bash
#author xuejp
#date 2017-03-28
ITEM_NAME="anloq-node-zhengshi" #项目名字
IMG_MANGER="192.168.0.122:5000" #私有镜像地址
DATE=`date +%F-%H-%M-%S` #当前时间
PROJECT_NAME=`echo "$ITEM_NAME-$DATE"` #回滚用的镜像名称
FPATH="./delopy_scripts" #工作目录
#利用dockfile构建镜像
docker build -t --rm $IMG_MANGER/node:v1.0 . 
#推送镜像
docker push $IMG_MANGER/node:v1.0
#判断是否回滚过
if cat $FPATH/ROOLBACK;then
      NAMES=`cat $FPATH/PROJECT_NAME`
      docker stop $NAMES
      docker run -ti -d --name $ITEM_NAME $IMG_MANGER/node:v1.0
      rm -rf $FPATH/ROOLBACK
#判断项目是否在运行
elif  docker ps   |grep  anloq-node-zhengshi |awk {'print $(NF)'} | grep -Fx $ITEM_NAME;then
      docker stop $ITEM_NAME
      docker rename  $ITEM_NAME $PROJECT_NAME
      docker run -ti -d --name $ITEM_NAME $IMG_MANGER/node:v1.0
      #docker rmi -f`docker images | grep "<none>" | awk "{print \$3}"`
#判断项目是否存在
elif  docker ps -a  |grep  anloq-node-zhengshi |awk {'print $(NF)'} | grep -Fx $ITEM_NAME ;then
      docker start $ITEM_NAME
#运行镜像
else
      docker run -ti -d --name $ITEM_NAME $IMG_MANGER/node:v1.0
fi
#将项目全称存入文件,留着回滚用
echo $PROJECT_NAME >$FPATH/PROJECT_NAME

只需要在jenkins项目配置里面写入即可
这里写图片描述

下面是回滚脚本 目前只能回滚一个版本,有需要的可以参考下
#!/bin/bash
#auth xuejp
#date 2017-03-28
ITEM_NAME=”anloq-node-zhengshi”
ROLL_NAME=cat ./delopy_scripts/PROJECT_NAME
DATE=date +%F-%H-%M-%S
docker stop ITEMNAMEdockerrename ITEM_NAME ITEMNAME DATE
docker start $ROLL_NAME
echo 1 > ./delopy_scripts/ROOLBACK

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值