一、codepipeline是什麼
阿里雲CodePipeline是一款提供持續集成/持續交付能力,並徹底兼容Jenkins的能力和使用習慣的SAAS化產品。經過使用阿里雲CodePipeline,您能夠方便的在雲端實現從代碼到應用的持續集成和交付,方便您快速的對您的產品進行功能迭代和演進。
講人話就是,幫你 構建 你的項目,而後部署到你指定的服務器位置上;
二、codepipieline的流程
- 首先會從你指定的git地址拉取你的項目文件,而後執行構建命令(自行填寫)
- 構建命令執行完畢後,把構建物上傳到oss上;
- 部署服務器會從oss拉取構建物,而且自動解壓到工做空間
- 執行部署命令
三、爲何選擇使用codepipeline
- 不須要本身部署ci服務器,好比jenkins,也不會佔用服務器資源
- 集成到項目裏面很是簡單(坑我已經給你踩了)
- 目前狀況來開,免費的可能性很是高。阿里出了雲效(另外一個ci)給大中型公司使用。而codepipeline針對的是我的開發和中小公司。
- 能夠配合釘釘使用,自動同步構建結果。很是舒服
若是自己就在使用阿里雲code和阿里雲服務器,就更加適合使用了
四、準備工做
- 由於須要上傳到oss上,因此必需要開通oss。(可能會產生費用,存儲1G一個月0.12元,這個應(ken)該(ding)能夠承受)
五、正式開搞
一、先開通codepipelinehtml
二、建立一個新項目,前端必備都是nodejs環境
前端
三、這兒記得填寫項目的ssh地址。就是git@....,證書必定要配置!
vue
四、配置證書,選擇ssh用戶。填入你的私鑰,注意不是公鑰。node
若是是阿里雲code的項目,如圖:存放你的公鑰。
五、 構建命令:好比個人vue項目。就是git
npm install
npm run build
測試命令就要看本身項目的配置了npm
六、上傳到oss上,vue默認的打包生成的目錄都是dist,根據本身實際的填寫就好了。這兒是打包成 xxx.gz的壓縮包上傳的bash
去oss上新建bucket,選擇默認選項就好了。區域就用華北2就好了。
七、這裏有大坑 (加紅加粗)(若是須要不須要部署到ECS就直接跳過)
若是在ECS上執行了下面的代碼(每一個人的不同,不要複製個人代碼),可是可選部署目標裏面刷新不出來。
export DEPLOYINDENTIFIER=9996e9f03039d1d121f5cb015e701d62 && wget -nv -O- http://aliclouddeployclient.oss-cn-beijing.aliyuncs.com/alicloud_deployclient_installer.sh | bash(別複製,只是示例)
- 請含淚查看官方文檔,是的,只支持兩個地方的ECS服務器,其餘的須要提工單。
- 然而我是遇到的是第一次出現了,第二次配置的刷新不出來了。屬於官方文檔的第二種狀況
- 第二次配置的時候,同一個服務器不要在執行上面的代碼 (加紅加粗)!!!!
官方文檔 官方文檔 官方文檔 官方文檔 官方文檔,真很差找。。服務器
部署命令(加紅加粗)!!!!
- 先解釋下:部署命令 會把構建物從oss上下載下來而且解壓後纔會執行。(文檔上沒有)
- 部署命令的執行環境是下面的工做空間指定的目錄,構建物也是放在這個目錄的。
- 官方的建議是:最佳實踐是 工做空間 不要指定爲代碼部署的路徑,而是單獨的一個目錄,而後在部署命令裏面把解壓出來的文件複製到代碼部署的地方,而後清空這個單獨的目錄。
檢查命令和回滾命令請自行玩耍,我目前是空着的。
八、 依舊是大坑(若是你要使用觸發器的話)
如圖,框起來的部分,千萬別動了。必定不要去改!!!(加紅加粗)!!!! 若是修改了,就會致使觸發器的代碼無效。
其實到這兒基本上就ok,若是你須要添加觸發器的話,請繼續往下讀。不須要的話,也繼續往下,由於你忘了給我
點贊 :)
八、添加觸發器,強烈建議使用觸發器,這樣當你須要構建的時候,只須要push一次代碼就自動構建了。
生成觸發器請仔細閱讀觸發器文檔,必定要注意步驟,最後纔去點 生成 按鈕。ssh
特別提醒,必定不要修改源碼管理的東西,別問我爲何,卡了兩天才得出來的結論我會告訴你
九、部署成功後,目前能夠發郵件和釘釘提示。這個很簡單就不介紹了
其實部署成功後還能夠有不少玩法,這個就須要本身去玩耍了。
後續遇到的坑:
- 若是發生構建失敗,記得要刪除當前構建,不然觸發器不會工做