關(guān)于gitlab-ci自動化部署的一些探索

因為團隊中想使用PHPCS來檢查代碼風格,所以考慮了兩個方案.一個是基于GIT HOOKS的行為觸發(fā),一個是基于GITLAB-CI的一系列部署.考慮再三使用了gitlab-ci的解決方案.

了解gitlab-ci的運行機制.

要想使用gitlab-ci,首先要明白它的組成. 這個東西有兩個東西來支撐:

  1. gitlab-ci server
  2. gitlab-ci-runner

gitlab-ci server負責調(diào)度蝇更、觸發(fā)Runner,以及獲取返回結(jié)果. 而gitlab-ci-runner則是主要負責來跑自動化CI的一個宿主機子.

那么我們總結(jié)一下流程,其實是這個樣子的:

2016-07-22_13:48:39.jpg
2016-07-22_13:48:39.jpg

Runner的概念

runner可以想象成一個守護進程,來守護你注冊好的servicegitlab-ci綁定. 一個宿主機里的runner可以維護多個不同的service. 而gitlab-ci在收到需要build的請求時,會通知service執(zhí)行你在.gitlab-ci.yml里面指定好的腳本,然后根據(jù)命令行的返回結(jié)果來決定這次build的成功還是失敗.

在了解完了這些概念以后我們就可以很輕松的搭建一個runner了.

GITLAB-CI搭配Runner的使用

安裝Runner

  • 首先要找一臺服務(wù)器來創(chuàng)建Runner铃慷,因為是要跟你的gitlab服務(wù)關(guān)聯(lián)锅很,所以服務(wù)器要可以訪問你的gitlab服務(wù)。

  • 安裝gitlab-CI-multi-runner

  • gitlab-ci-multi-runner是CI runner的運行程序,這里有多種安裝方式(見這里),這里我們使用了第一種:在linux中安裝軟件。

友情提示: 在安裝時由于網(wǎng)絡(luò)問題不好安裝,可以直接找到deb包下載后安裝.

gitlab-ci-multi-runner命令介紹

  • 執(zhí)行gitlab-ci-multi-runner help可以看到所有命令的簡介,在每個命令加--help可以看到更加具體的參數(shù)趟佃,比如gitlab-ci-multi-runner start --help,命令的執(zhí)行順序為:register(注冊runner)-->install(安裝服務(wù))-->start(運行服務(wù)).

GITLAB-CI配置

打開網(wǎng)址(比如你的gitlab服務(wù)地址是: http://gitlab.your.company/,那gitlab CI的地址就是:http://gitlab.your.company/ci),找到想要配置CI的項目,點擊后面的按鈕Add project to CI
,給項目配置CI功能.進入CI項目,進入Runners標簽頁面闲昭,可以看到CI的url和token罐寨,這2個值是待會用命令注冊runner時所需要的。

runner的服務(wù)器上注冊runner汤纸,執(zhí)行命令gitlab-ci-multi-runner register --user="你的用戶",下面是執(zhí)行命令后的交互信息衩茸。

友情提示:如果你用的是docker的執(zhí)行方式,可以先把對應(yīng)的docker的image下載下來贮泞,不然第一次執(zhí)行CI會比較慢楞慈。
  • 安裝服務(wù)

執(zhí)行命令gitlab-ci-multi-runner install -n "服務(wù)名",后面的服務(wù)名是自己定義的名稱,用來后面啟動命名使用啃擦,與其相對的命令是uninstall.

啟動服務(wù)囊蓝,執(zhí)行命令gitlab-ci-multi-runner start -n "服務(wù)名",與其相類似的命令有stop
restart.

驗證runner,執(zhí)行gitlab-ci-multi-runner verify,可以看到runner的運行情況.

root@cloudeye:~# gitlab-ci-multi-runner verify

aliveINFO[0000] 79bf814a Veryfing runner... is 
aliveINFO[0000] 207a4b34 Veryfing runner... is 
aliveINFO[0000] 20f849f7 Veryfing runner... is 
aliveINFO[0000] 6e07e13a Veryfing runner... is
aliveINFO[0000] 23be6deb Veryfing runner... is 
aliveINFO[0000] 4e348964 Veryfing runner... is

啟動服務(wù)后令蛉,可以在剛才的CI runners頁面看到已經(jīng)有runner出現(xiàn)了聚霜。

gitlab-ci.yaml文件

配置好了runner,要讓CI跑起來珠叔,還需要在項目根目錄放一個.gitlab-ci.yml文件,在這個文件里面可以定制CI的任務(wù),下面是簡單的示例文件蝎宇,更多的用法可以看官方文檔

jobName:
  script:
    - ls
    - php command.php
    ...(比喻,使用直接刪掉本行)
  only:
    develp

自己磕磕碰碰總結(jié)出來的,有不對的地方希望可以指正.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市祷安,隨后出現(xiàn)的幾起案子姥芥,更是在濱河造成了極大的恐慌,老刑警劉巖汇鞭,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凉唐,死亡現(xiàn)場離奇詭異,居然都是意外死亡霍骄,警方通過查閱死者的電腦和手機台囱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來读整,“玉大人簿训,你說我怎么就攤上這事∶准洌” “怎么了煎楣?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長车伞。 經(jīng)常有香客問我,道長喻喳,這世上最難降的妖魔是什么另玖? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上谦去,老公的妹妹穿的比我還像新娘慷丽。我一直安慰自己,他們只是感情好鳄哭,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布要糊。 她就那樣靜靜地躺著,像睡著了一般妆丘。 火紅的嫁衣襯著肌膚如雪锄俄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天勺拣,我揣著相機與錄音奶赠,去河邊找鬼。 笑死药有,一個胖子當著我的面吹牛毅戈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播愤惰,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苇经,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宦言?” 一聲冷哼從身側(cè)響起扇单,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜡励,沒想到半個月后令花,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡凉倚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年兼都,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稽寒。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡扮碧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出杏糙,到底是詐尸還是另有隱情慎王,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布宏侍,位于F島的核電站赖淤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谅河。R本人自食惡果不足惜咱旱,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一确丢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吐限,春花似錦鲜侥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至狐粱,卻和暖如春舀寓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脑奠。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工基公, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宋欺。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓轰豆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親齿诞。 傳聞我的和親對象是個殘疾皇子酸休,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一、持續(xù)集成(Continuous Integration) 要了解GitLab-CI與GitLab Runner...
    tsyeyuanfeng閱讀 97,937評論 17 134
  • 簡介 gitlab-ci全稱是gitlab continuous integration的意思祷杈,也就是持續(xù)集成斑司。中...
    st0rm23閱讀 66,743評論 9 46
  • GitLab-CI與GitLab-Runner自動部署 矽偉智 Seven 2016年12月28日17:30:4...
    秋水白露閱讀 2,945評論 0 6
  • 姓名:易平香 企業(yè)名稱:東莞耀升機電有限公司 組別:AT感謝組/272期努力一組 【日精進打卡第137天】 【知~...
    shine1yi閱讀 188評論 0 0
  • 三年了,我終于決定寫點什么為我大學生活畫個完美的句號但汞。 一年前宿刮,已經(jīng)兩年沒有寫過任何東西的我,決定重新開始私蕾,...
    寧大寶的小天堂閱讀 131評論 0 0