使用阿里雲codepipeline來持續部署前端工程(vue,react等等)教程

一、codepipeline是什麼

阿里雲CodePipeline是一款提供持續集成/持續交付能力,並徹底兼容Jenkins的能力和使用習慣的SAAS化產品。經過使用阿里雲CodePipeline,您能夠方便的在雲端實現從代碼到應用的持續集成和交付,方便您快速的對您的產品進行功能迭代和演進。
講人話就是,幫你 構建 你的項目,而後部署到你指定的服務器位置上;

二、codepipieline的流程

  1. 首先會從你指定的git地址拉取你的項目文件,而後執行構建命令(自行填寫)
  2. 構建命令執行完畢後,把構建物上傳到oss上;
  3. 部署服務器會從oss拉取構建物,而且自動解壓到工做空間
  4. 執行部署命令

三、爲何選擇使用codepipeline

  • 不須要本身部署ci服務器,好比jenkins,也不會佔用服務器資源
  • 集成到項目裏面很是簡單(坑我已經給你踩了)
  • 目前狀況來開,免費的可能性很是高。阿里出了雲效(另外一個ci)給大中型公司使用。而codepipeline針對的是我的開發和中小公司。
  • 能夠配合釘釘使用,自動同步構建結果。很是舒服

若是自己就在使用阿里雲code和阿里雲服務器,就更加適合使用了

四、準備工做

  • 由於須要上傳到oss上,因此必需要開通oss。(可能會產生費用,存儲1G一個月0.12元,這個應(ken)該(ding)能夠承受)

五、正式開搞

一、先開通codepipelinehtml

clipboard.png

二、建立一個新項目,前端必備都是nodejs環境
clipboard.png前端

三、這兒記得填寫項目的ssh地址。就是git@....,證書必定要配置!
clipboard.pngvue

四、配置證書,選擇ssh用戶。填入你的私鑰,注意不是公鑰。node

clipboard.png

若是是阿里雲code的項目,如圖:存放你的公鑰。

clipboard.png

五、 構建命令:好比個人vue項目。就是git

npm install
npm run build

測試命令就要看本身項目的配置了npm

六、上傳到oss上,vue默認的打包生成的目錄都是dist,根據本身實際的填寫就好了。這兒是打包成 xxx.gz的壓縮包上傳的bash

clipboard.png

去oss上新建bucket,選擇默認選項就好了。區域就用華北2就好了。

clipboard.png

七、這裏有大坑 (加紅加粗)(若是須要不須要部署到ECS就直接跳過)

clipboard.png

若是在ECS上執行了下面的代碼(每一個人的不同,不要複製個人代碼),可是可選部署目標裏面刷新不出來。

export DEPLOYINDENTIFIER=9996e9f03039d1d121f5cb015e701d62 && wget -nv -O-  http://aliclouddeployclient.oss-cn-beijing.aliyuncs.com/alicloud_deployclient_installer.sh | bash(別複製,只是示例)
  • 請含淚查看官方文檔,是的,只支持兩個地方的ECS服務器,其餘的須要提工單。
  • 然而我是遇到的是第一次出現了,第二次配置的刷新不出來了。屬於官方文檔的第二種狀況
  • 第二次配置的時候,同一個服務器不要在執行上面的代碼 (加紅加粗)!!!!

官方文檔 官方文檔 官方文檔 官方文檔 官方文檔,真很差找。。服務器

部署命令(加紅加粗)!!!!

  • 先解釋下:部署命令 會把構建物從oss上下載下來而且解壓後纔會執行。(文檔上沒有)
  • 部署命令的執行環境是下面的工做空間指定的目錄,構建物也是放在這個目錄的。
  • 官方的建議是:最佳實踐是 工做空間 不要指定爲代碼部署的路徑,而是單獨的一個目錄,而後在部署命令裏面把解壓出來的文件複製到代碼部署的地方,而後清空這個單獨的目錄。

clipboard.png

檢查命令和回滾命令請自行玩耍,我目前是空着的。

八、 依舊是大坑(若是你要使用觸發器的話)

如圖,框起來的部分,千萬別動了。必定不要去改!!!(加紅加粗)!!!! 若是修改了,就會致使觸發器的代碼無效。

clipboard.png

其實到這兒基本上就ok,若是你須要添加觸發器的話,請繼續往下讀。不須要的話,也繼續往下,由於你忘了給我 點贊 :)

八、添加觸發器,強烈建議使用觸發器,這樣當你須要構建的時候,只須要push一次代碼就自動構建了。

生成觸發器請仔細閱讀觸發器文檔,必定要注意步驟,最後纔去點 生成 按鈕。ssh

clipboard.png

特別提醒,必定不要修改源碼管理的東西,別問我爲何,卡了兩天才得出來的結論我會告訴你

九、部署成功後,目前能夠發郵件和釘釘提示。這個很簡單就不介紹了

其實部署成功後還能夠有不少玩法,這個就須要本身去玩耍了。

後續遇到的坑:

  • 若是發生構建失敗,記得要刪除當前構建,不然觸發器不會工做
相關文章
相關標籤/搜索