版本回滾
stages:
-? build
-? deploy
build_job:
? stage: build
? tags:?
? – test1
? script:
? – echo this is a test !
dev_job:
? stage: deploy
? tags:?
? – test1
? environment:?
? ? name: v2
? url:? http://www.test.com
? script:
? – echo this is a deploy !
environment: 是配置在deploy這個(gè)stage里面的,用于后面Environments可以做版本回滾。
紅色部分是URL,回滾的時(shí)候點(diǎn)擊即可直接跳轉(zhuǎn)到指定位置。
手動(dòng)執(zhí)行部署
stages:
-? build
-? deploy
build_job:
? stage: build
? tags:?
? – test1
? script:
? – echo this is a test !
dev_job:
? stage: deploy
? tags:?
? – test1
? environment:?
? ? name: v2
? url:www.baidu.com
? script:
? – echo this is a deploy !
? when: always #不管前面幾步成功與否,永遠(yuǎn)會(huì)執(zhí)行這一步。它有幾個(gè)值:on_success (默認(rèn)值)\\\\on_failure\\\\always\\\\manual(手動(dòng)執(zhí)行)
每次提交代碼就會(huì)自動(dòng)觸發(fā)構(gòu)建并自動(dòng)發(fā)布,production的構(gòu)建發(fā)布需要手動(dòng)點(diǎn)擊按鈕,這個(gè)是when: manual實(shí)現(xiàn)的。
when?用于實(shí)現(xiàn)在出現(xiàn)故障或運(yùn)行失敗時(shí)運(yùn)行的作業(yè)。
when?可以設(shè)置為以下值之一:
on_success?- 只有當(dāng)前一個(gè)階段的所有工作成功時(shí)才執(zhí)行工作。這是默認(rèn)值。
on_failure?- 僅當(dāng)前一個(gè)階段的至少一個(gè)作業(yè)發(fā)生故障時(shí)才執(zhí)行作業(yè)。
always?- 無論前一階段的工作狀況如何,繼續(xù)執(zhí)行工作。
manual?- 手動(dòng)執(zhí)行作業(yè)(在GitLab 8.10中添加)
docker Executor
所有jobs的執(zhí)行環(huán)境為指定的docker image所生成的container,每個(gè)job都會(huì)生成一個(gè)container并且在job結(jié)束后立即銷毀。
Pull policies
當(dāng)你使用docker 或 docker machine executors時(shí),你可以通過設(shè)置pull_policy來決定Runner如何pull docker image。pull_policy有三種值:
always —— Runner始終從遠(yuǎn)程pull docker image。
if-not-present —— Runner會(huì)首先檢查本地是否有該image,如果有則用本地的,如果沒有則從遠(yuǎn)程拉取。
never —— Runner始終使用本地的image。
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問西部數(shù)碼官網(wǎng):youyuetrip.com