簡體   English   中英

使代碼船部署進入數字海洋工作

[英]Getting codeship deployments to digital ocean working

噢,天哪,為什么這么難。 現在,我花了3天的時間嘗試使這種看似簡單的廢話工作。

我需要它:-在CI服務器上安裝npm(works)-運行測試(works)-生成有角度的前端(works)-通過rsync(works)將代碼運送到服務器-ssh到服務器(works)--和npm install(我認為是因為npm警告而死了)--重新啟動pm2進程(此操作不起作用,因為沒有優雅的方式來表示啟動或重新啟動)

在部署步驟中,我在代碼導航UI中有此腳本

rsync -avz --exclude 'node_modules' ~/clone/
root@xxx.xxx.xxx.xxx:/root/my-project/
ssh root@xxx.xxx.xxx.xxx cd /root/my-project && bash ./postDeploy.sh

然后postDeploy.sh腳本是這樣的:

#!/bin/sh
export PATH=$PATH:/usr/local/bin
npm install --silent &> /dev/null
/usr/local/bin/pm2 stop --silent keystone &> /dev/null
/usr/local/bin/pm2 start keystone.js 2> /dev/null

我正在嘗試用這個技巧吞下錯誤。 &> /dev/null

不幸的是,項目中存在一些漏洞,這些漏洞深處核心模塊內部,我無法修復,因此在這種情況下,我需要npm保持安靜。

然后是PM2,這有點令人討厭。 我需要發出一個stop命令,但是如果服務未運行,它將失敗,因此再次需要吞下錯誤。 啟動命令可能很好。

我認為現在可能正在發生的事情是因為我吞沒了所有輸出代碼船的腳本運行器,認為它失敗了?

我曾經嘗試使用半熟的調試工具,但是在我嘗試登錄時,它神奇地要求我輸入密碼。

如果Google索引的有用文章中有80%沒有在您的網站上導致網頁死機,那么@codeship也會令人驚訝。

我曾經嘗試使用半熟的調試工具,但是在我嘗試登錄時,它神奇地要求我輸入密碼。

我會說這是正確的本能。 為什么您會遇到這些意外的行為,並且有太多可能的場景,並且通過ssh調試會話實時運行構建很可能會觸底。

請參閱我們的文檔部分,以對ssh調試會話的密碼提示進行故障排除

如果ssh調試會話無法解決您的問題,請通過您的構建URL通過support@codeship.com與我們聯系,我們將進行仔細研究。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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