觸發(fā)器管理
若您想實現(xiàn)自動化的持續(xù)集成功能,您可以使用阿里云鏡像服務(wù)觸發(fā)器,在成功構(gòu)建新的鏡像后,將會自動觸發(fā)容器服務(wù)上應(yīng)用拉取新的鏡像,并進行重新部署。
觸發(fā)器安全規(guī)則
HTTP服務(wù):默認使用80端口。
如果要使用其他端口,請在觸發(fā)器URL末尾手動添加端口號,而且只能選擇以下端口號:80、21、443、70、210、280、488、591、777、1025~65535。
HTTPS服務(wù):默認使用443端口。
只支持默認的443端口,如果要使用其他端口號,請使用HTTP服務(wù)。只支持使用標準證書,不支持使用自簽證書。
觸發(fā)條件
容器鏡像服務(wù)ACR提供了兩種不同的方式來設(shè)置觸發(fā)器的觸發(fā)條件:表達式觸發(fā)和Tag觸發(fā)。之前未設(shè)置觸發(fā)條件的觸發(fā)器會默認為全部觸發(fā)類型。關(guān)于使用觸發(fā)器的最佳實踐,請參見使用觸發(fā)器構(gòu)建容器DevOps。
表達式觸發(fā):基于正則表達式來進行Tag的過濾,只有當符合正則表達式的Tag才會繼續(xù)觸發(fā)觸發(fā)器。
可以填寫簡單的正則表達式,如
release-v.*
,則只有Tag為release-v
開頭的鏡像版本在構(gòu)建后,才會觸發(fā)后續(xù)持續(xù)集成的流程;否則為未觸發(fā)狀態(tài),訪問記錄中訪問狀態(tài)碼將顯示“未觸發(fā)”。單擊訪問記錄,可以查看觸發(fā)器的歷史訪問詳情。
Tag觸發(fā):基于用戶篩選的Tag列表來進行觸發(fā)。
可以在列表中篩選需要觸發(fā)的Tag,最多可選10個,則只有當Tag在列表中時,才會在鏡像構(gòu)建后觸發(fā)觸發(fā)器;否則為未觸發(fā)狀態(tài),訪問記錄中訪問狀態(tài)碼將顯示“未觸發(fā)”。
單擊訪問記錄,可以查看觸發(fā)器的歷史訪問詳情。
通知內(nèi)容
觸發(fā)器的通知內(nèi)容包含了鏡像倉庫的信息,以及鏡像的版本信息,如下所示。其中,鏡像倉庫信息包括了倉庫的Namespace、Name以及倉庫對應(yīng)的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"
}
}