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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章