若您想實現自動化的持續整合功能,您可以使用阿里雲鏡像服務觸發器,在成功構建新的鏡像後,將會自動觸發Container Service上應用拉取新的鏡像,並進行重新部署。
觸發器安全規則
HTTP服務:預設使用80連接埠。
如果要使用其他連接埠,請在觸發器URL末尾手動添加連接埠號碼,而且只能選擇以下連接埠號碼:80、21、443、70、210、280、488、591、777、1025~65535。
HTTPS服務:預設使用443連接埠。
只支援預設的443連接埠,如果要使用其他連接埠號碼,請使用HTTP服務。只支援使用標準認證,不支援使用自簽認證。
觸發條件
Container RegistryACR提供了兩種不同的方式來設定觸發器的觸發條件:運算式觸發和Tag觸發。之前未設定觸發條件的觸發器會預設為全部觸發類型。
運算式觸發:基於Regex來進行Tag的過濾,只有當符合Regex的Tag才會繼續觸發觸發器。
可以填寫簡單的Regex,如
release-v.*,則只有Tag為release-v開頭的鏡像版本在構建後,才會觸發後續持續整合的流程;否則為未觸發狀態,訪問記錄中訪問狀態代碼將顯示“未觸發”。單擊訪問記錄,可以查看觸發器的歷史訪問詳情。
Tag觸發:基於使用者篩選的Tag列表來進行觸發。
可以在列表中篩選需要觸發的Tag,最多可選10個,則只有當Tag在列表中時,才會在鏡像構建後觸發觸發器;否則為未觸發狀態,訪問記錄中訪問狀態代碼將顯示“未觸發”。
單擊訪問記錄,可以查看觸發器的歷史訪問詳情。
通知內容
觸發器的通知內容包含了鏡像倉庫的資訊,以及鏡像的版本資訊,如下所示。其中,鏡像倉庫資訊包括了倉庫的Namespace、Name以及倉庫對應的Region等。
POST /payload HTTP/1.1
Content-Type: application/json
Request URL: https://cs.console.alibabacloud.com/hook/trigger?triggerUrl=YzRmMWE5YzM2ZjMzYzQ0NmFiMGYzNWJlMmM2MjM2NzIyfGV4cHJlc3N8cmVkZXBsb3l8MThlMmllY2drdXYyZXw=&secret=365a4a664b45615438716a487a75695a7ac48329224b35b073c2197374e7d62a
Request method: POST
{
"push_data": {
"digest": "sha256:457f4aa83fc9a6663ab9d1b0a6e2dce25a12a943ed5bf2c1747c58d48bbb4917",
"pushed_at": "2016-11-29 12:25:46",
"tag": "latest"
},
"repository": {
"date_created": "2016-10-28 21:31:42",
"name": "repoTest",
"namespace": "namespace",
"region": "cn-hangzhou",
"repo_authentication_type": "NO_CERTIFIED",
"repo_full_name": "namespace/repoTest",
"repo_origin_type": "NO_CERTIFIED",
"repo_type": "PUBLIC"
}
}