使用Gitlab上的CI

概念

Gitlab上的CI基于事后模式,也就是說在代碼合入主干之后,進行編譯、測試。在這點上,和gerrit的模式完全不同。

實現(xiàn)

Gitlab自己已經(jīng)集成CI、Issue管理等功能了,所以不需要額外安裝其他服務(wù)。

Gitlab上的job配置,是以文件方式保存在項目的根目錄下面,文件名是.gitlab-ci.yml
runner就是執(zhí)行編譯或者測試的目標(biāo)機器,runner分兩種:

  • Shared runners:gilab上所有項目都可以用
  • Specific runners:按照項目配置,只用在一個特定的項目上。

步驟

  • 創(chuàng)建一個代碼庫
  • 編寫測試相關(guān)的文件
    • 編寫文件.gitlab-ci.yml
      下面是一個簡單的例子:
job1:
  tags:
    - linsee
  script: "./execute-script-for-job1"

這個測試任務(wù)名字是job1,在標(biāo)簽為linsee的機器上執(zhí)行,執(zhí)行時使用的腳本是:項目根目錄下,名字為execute-script-for-job1的腳本文件

  • 在根目錄下創(chuàng)建execute-script-for-job1腳本文件
g++ main.cpp

我們只做簡單的編譯測試

  • 上傳這兩個文件,并且包括測試文件main.cpp

  • 配置Specific Runners

    • 在你的目標(biāo)機器上,下載文件
wget https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-amd64
  • 配置
    執(zhí)行
 ./gitlab-ci-multi-runner-linux-amd64 register

按提示輸入相應(yīng)信息(可以在右上角配置 -> Runner里面獲?。?/p>

...
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
https://這里是你的gitlab的url/ci
Please enter the gitlab-ci token for this runner:
在這里輸入你的token
Please enter the gitlab-ci description for this runner:
[xxxxx]:
Please enter the gitlab-ci tags for this runner (comma separated):
linsee
  • 運行
 ./gitlab-ci-multi-runner-linux-amd64 run

這時候,在右上角配置 -> Runner -> Specific runners下面就可以看到你剛注冊上來的機器了。
上面有name和tag,如下:

Paste_Image.png
  • 修改main.cpp,并推送到gitlab上,就會自動觸發(fā)CI了。
    CI的執(zhí)行結(jié)果,可以在Pipelines里面看到,當(dāng)然在這里你也可以重新觸發(fā)(執(zhí)行不穩(wěn)定,或者調(diào)試環(huán)境時用)
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是阿里內(nèi)網(wǎng)的一篇文章,感有用,故轉(zhuǎn)載來了,自己實際搭建了,故記錄一下: 背景在日常工作中,我們往往會搭建基于je...
    新強吖閱讀 6,023評論 0 4
  • 一、持續(xù)集成(Continuous Integration) 要了解GitLab-CI與GitLab Runner...
    tsyeyuanfeng閱讀 98,530評論 17 134
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評論 19 139
  • GitLab-CI就是一套配合GitLab使用的持續(xù)集成系統(tǒng)。 OS X系統(tǒng)完成可出現(xiàn)集成,需要安裝gitlab,...
    paradisery閱讀 4,545評論 7 7
  • 時間過得真快,二個月的暑假生活已經(jīng)結(jié)束,轉(zhuǎn)眼間就到了開學(xué)季。新的學(xué)期,我有一些新打算。 一、工作: 1、班級管理:...
    四貓先生閱讀 544評論 23 22

友情鏈接更多精彩內(nèi)容