簡體   English   中英

通過詹金斯部署Postgres-持續集成/部署

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM