簡體   English   中英

從持續集成部署構建文件

[英]Deploy build files from continuous integration

我正在開發一個有多個人的項目,一個網站應用程序,需要構建webpack,uglified,連接成幾個文件,例如app.min.js,style.min.css等。 - 結果,在一個為了防止合並沖突我們最近將build文件夾添加到.gitignore,假設我們能夠在部署期間構建。

當推送到Master分支時,我們通過Semaphore CI(類似於Travis)自動“部署”,運行composer install,npm install,最后是“npm run build”,它會觸發webpack構建。 這些都是構建的,然后在CI方面進行測試,然后Semaphore自動部署到托管我們的應用程序的Amazon的Elastic Beanstalk。

這個問題是,似乎Semaphore沒有上傳剛剛測試過的構建版本,而是上傳了沒有內置JS或CSS的Master分支。 我想知道是否有辦法將這些構建的文件推送到部署,或者如果在Elastic Beanstalk上運行整個構建過程AGAIN是唯一的路徑。 似乎沒有必要基本上執行該過程3次,本地,CI,然后部署。 每次在EB上需要這樣的步驟時,實際的重新實例化時間會變長,我希望保持盡可能短的時間。

顯然,如果在EB上第三次構建它是唯一的方法,那么我將不得不,只是想知道這整個工作流程是否有更好的解決方案。

我沒有使用過Semaphore CI,但您可以使用.ebignore文件

如果您創建一個,cli將使用它而不是.gitignore文件。

我發現在某些部署情況下你需要你的.gitignore的反轉(所有編譯,沒有src)。 它本質上允許您從項目目錄中選擇要部署的文件,方法與.gitignore文件相同。

編輯 :我剛剛注意到aws上的文檔缺乏。 它只提到文件排除,但您也可以包含文件。

編輯2 :我不認為Semaphore支持使用.ebignore,所以現在這個解決方案沒有任何用處。 :(

我剛剛通過https://deploybot.com/獲得了很好的第一次體驗。 可以直接部署到彈性豆莖上。 它可能很有趣或者你。

暫無
暫無

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

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