閱讀522 返回首頁    go 人物


編譯__用戶手冊_持續交付平台-阿裏雲

編譯就是把高級語言變成計算機可以識別的2進製語言。 測試是運行代碼工程中的單元測試用例,當單元測試用例執行不通過時,建議開發人員先解決單元測試問題。

阿裏雲持續交付平台CRP,提供多種標準的編譯/測試容器,可以支持編譯Java、Node、Php、Python、Ruby、Go等語言的編譯。 其他語言,或以上語言的編譯測試環境需要依賴其他軟件,可以在運行指令中預安裝依賴的編譯軟件,然後運行編譯命令。

1 使用場景說明

當您的源代碼需要執行一些編譯指令後,轉換成2進製語言才能運行。您需要在持續發布線中增加編譯/測試的任務。配置好後,持續交付平台CRP會提供對應的編譯/測試容器,並在容器裏運行編譯的命令,最後將您需要的產出物打成package.tgz包上傳到雲存儲中,用作後續上傳maven倉庫或部署等任務使用。

2 第一步:增加編譯/測試任務

在項目列表中,點擊您要配置持續發布線的項目,在左側的菜單欄中點擊圖標工作流圖標,進入持續發布線配置頁麵。

點擊需要配置的持續發布線名稱,進入工作流查看頁麵,點擊右上角的編輯按鈕,在右下角的任務列表處,點擊“+”號,選擇"編譯/測試”即可增加編譯任務。

編譯任務添加

編譯時,CRP會根據依次執行以下動作:分配標準編譯容器->下載源代碼->下載依賴的其他文件/目錄->在代碼目錄下,執行編譯命令->編譯成功上傳“產出物路徑”中指定的包到雲存儲

3 第二步:選擇語言類型

CRP的工作流支持Java、Node、Php、Python、Ruby、Go語言的編譯-測試-部署。 按照您的工程使用的語言,您可以選擇編譯依賴的語言版本環境,

多語言編譯

4 第三步:輸入運行指令

編譯指令指您需要在CRP的機器上運行的命令,可以輸入多行命令,也可以在同一行輸入,用分號間隔;

Go的編譯指令舉例如下:

go build

Java的測試&編譯指令舉例如下:

mvn test

mvn clean package -D maven.test.skip=true

Node.js的測試&編譯指令舉例如下:

npm test

npm install

Python的測試-編譯指令舉例如下:

python setup.py install

python setup.py test

python setup.py build

Php的測試指令舉例如下:

phpunit --coverage-text .

Ruby的編譯指令舉例如下:

bundle install

bundle exec rake

5 第四步:設置編譯好的包路徑(產出物路徑),上傳包到雲存儲

產出物路徑通常是Java、Go語言需要使用的。在您編譯完成後,需要將編譯好的包上傳到部署機器上做部署。您可以在“輸出物路徑”中填寫部署包的相對路徑(相對於代碼目錄),CRP會將輸出物上傳到雲存儲,用作部署階段使用。

Java產出物路徑示例

target/demo.war

6 第五步:上傳編譯過程中需要的依賴文件

依賴文件是指在編譯過程中,需要依賴其他代碼庫的代碼時,可以在這裏輸入文件所在的代碼庫的地址(這個地址是您在CRP上瀏覽該代碼的URL),該文件會自動下載到服務器的/root/upload/目錄下。

比如Java工程使用autoconfig插件,配置文件為了保密要求,是放在其他代碼庫中的。示例輸入如下:

    https://crp.aliyun.com/projects/2***/codes/19**/repositories/blob?path=antx.properties

CRP會將對應路徑下的文件下載到/root/upload/目錄下,用戶在編譯指令中可以做如下處理:

cp /root/upload/antx.properties .
mvn clean package -D maven.test.skip=ture

7 如何使用自己的maven倉庫上傳下載jar包

CRP的Java編譯默認是使用maven.aliyun.com倉庫,如果需要使用您自己的maven倉庫,請將您的settings.xml存到代碼庫根目錄,係統將使用您的倉庫進行編譯。您可以在編譯的配置頁麵上下載settings.xml示例文件。

最後更新:2016-11-23 17:16:07

  上一篇:go 代碼更新__用戶手冊_持續交付平台-阿裏雲
  下一篇:go 部署__用戶手冊_持續交付平台-阿裏雲