[英]Deploy postgres via jenkins - continuous integration/deployment
我將數據庫轉儲(表,函數,觸發器等)保存在* .sql文件中。 現在,我通過傳遞execute shell命令通過jenkins部署它們:
sudo -u postgres psql -d my_db < /[path_to_my_file].sql
問題是,如果我的sql文件中有問題,則構建以SUCCESS完成。 如果出現故障,我想立即獲得信息,而無需查看日志並檢查每個命令是否成功執行。
是否可以通過jenkins以其他方式部署postgres數據庫(如果答案為“是”,怎么辦)?
在運行命令之前,請確保已設置set -e
。 如果那不起作用,我將查看上面命令的返回代碼。 這可以通過運行echo $?
來完成echo $?
在命令之后。
如果在失敗時給您零,則為postgres錯誤(失敗時返回的錯誤應為0以外的值)。
也許有一個postgres標志在輸入錯誤時失敗。
編輯: -v ON_ERROR_STOP=1
作為postgres的標志應使postgres出錯
我將執行命令更改為:
sudo -u postgres psql -v ON_ERROR_STOP=1 -d my_db < [path_to_file].sql
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.