若您想實現自動化的持續集成功能,您可以使用阿里云鏡像服務觸發器,在成功構建新的鏡像后,將會自動觸發容器服務上應用拉取新的鏡像,并進行重新部署。
觸發器安全規則
HTTP服務:默認使用80端口。
如果要使用其他端口,請在觸發器URL末尾手動添加端口號,而且只能選擇以下端口號:80、21、443、70、210、280、488、591、777、1025~65535。
HTTPS服務:默認使用443端口。
只支持默認的443端口,如果要使用其他端口號,請使用HTTP服務。只支持使用標準證書,不支持使用自簽證書。
觸發條件
容器鏡像服務ACR提供了兩種不同的方式來設置觸發器的觸發條件:表達式觸發和Tag觸發。之前未設置觸發條件的觸發器會默認為全部觸發類型。關于使用觸發器的最佳實踐,請參見使用觸發器構建容器DevOps。
表達式觸發:基于正則表達式來進行Tag的過濾,只有當符合正則表達式的Tag才會繼續觸發觸發器。
可以填寫簡單的正則表達式,如
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.aliyun.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"
}
}
文檔內容是否對您有幫助?