jenkis自動化部署docker容器指令碼

2021-07-29 16:46:09 字數 1799 閱讀 7733

#!/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 | 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 "" | awk ""`

#判斷專案是否存在

elif docker ps -a |grep anloq-node-zhengshi |awk | 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 it

emna

medo

cker

rena

meitem_name it

emna

me− date

docker start $roll_name

echo 1 > ./delopy_scripts/roolback

mysql自動化部署方案 什麼是自動化部署?

自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...

自動化部署job

bin sh the discription of start.sh echo e the script function 1 deploy the tomcat server if files exist.echo e 2 restart the tomcat server if files no...

自動化部署指令碼

usr bin env python coding utf 8 import sys,os import subprocess import re import shlex import time filename sys.argv 0 absdir os.path.abspath os.path....