shell指令碼實現:
滾動摘除單台負載realserver 發布線上/測試 環境版本
#加鎖lock_file() ];then
echo "deploy指令碼正在執行..."
exit
fi}#解鎖
unlock_file()
}#下線節點
remove_realserver() "echo 'disable server web_cluster/$1' | socat stdio /var/lib/haproxy/stats"
}#上線節點
add_realserver() "echo 'enable server web_cluster/$1' | socat stdio /var/lib/haproxy/stats"
}#測試可用性
}#**部署
code_deploy()/$.tar.gz ./*
for host in $
do#摘除節點
remove_realserver $ && echo "$ip 節點摘除成功"
#傳輸**
scp $/$.tar.gz $:/opt && echo "$ip 節點**拷貝成功..."
#部署**
ssh $ "cd $ && mkdir -p $/$ && \
tar xf $.tar.gz -c $ && \
rm -rf $/$
ln -s $/$ $/$ && \
systemctl restart nginx ; echo '$ip 節點**部署成功'"
echo "$ 節點**測試通過"
add_realserver $ ; echo "$ 節點加入集群成功"
else
echo "$ 測試失敗"
exit
fi#等待節點新增後在繼續下一台
echo "$: $ 節點已完成更新-->" ; sleep 5
done
}main()
#呼叫總函式
jenkins shell指令碼執行許可權不夠解決辦法
自己伺服器搭建jenkins執行操作的時候,沒有相應的許可權,解決這個問題的時候,做了一些筆記分享給大家.vi etc sysconfig jenkins 複製 找到jenkins user發現預設使用者jenkins,unix user account that runs the jenkins ...
Jenkins SHELL 學習,認真學習
1.參考文字 2.參考指令碼 資料夾不存在則建立?if?d?data then mkdir?data else echo?資料夾已經存在 fi?檔案存在則刪除?if?f?data filename then echo?檔案不存在 else rm?f?data filename fi?判斷資料夾是否存...
RabbitMq六種使用模式 3 訂閱發布模式
之前的例子都是講訊息直接傳送給指定的佇列 現在需要傳送給多個佇列,訂閱 發布模式 生產者不再將訊息直接發往佇列,而是發往exchange,然後exchange再傳送給在該exchange訂閱的佇列 exchange需要知道如何對接收到的訊息進行 exchange有四種型別 direct,topic,...