gitlab-ci使用記

使用gitlab-ci作什麼

  • 自動化測試
  • 構建項目
  • 發佈項目

安裝GitLab Runner

我用的是mac系統 參考文檔Install GitLab Runner on macOS
安裝步驟:html

  • 下載二進制文檔到系統(提醒:不要用Homebrew安裝,由於gitlab沒有維護,踩過坑):sudo curl --output /usr/local/bin/gitlab-runner gitlab-runner-downloads.s3.amazonaws.com/latest/bina…
  • 賦予gitlab-runner執行權限 sudo chmod +x /usr/local/bin/gitlab-runner
  • cd ~
  • gitlab-runner install
  • gitlab-runner start

註冊Registering Runners

我用的是mac系統 參考文檔Registering Runnersgit

  • 運行gitlab-runner register命令(根據提示填寫信息)
    • 輸入項目所在的gitlab(setting->ci/cd->Runners下獲取): Please enter the gitlab-ci coordinator URL (e.g. gitlab.com )
    • 輸入項目的註冊token(setting->ci/cd->Runners下獲取): Please enter the gitlab-ci token for this runner
    • 輸入runner的名稱(註冊完成後能夠再對應的項目下的setting->ci/cd->Runners看到該runner):Please enter the gitlab-ci description for this runner
    • 輸入runner的標籤(根據.gitlab-ci.yml中的tag尋找對應的runner):Please enter the gitlab-ci tags for this runner (comma separated)
    • 輸入執行的環境(我用本地的mac,全部我選中shell):Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:docker

編寫.gitlab-ci.yml配置文件

stages: # 定義Pipeline的階段,能夠多個
   - install # 安裝依賴包
   - test # 執行測試
   - build # 構建項目
   - deploy # 發佈

install_job: # 定義一個工做流job
   stage: install # 設置工做流所屬的階段,默認是test
   tags: # 定義tags,用來匹配相應的Runner來執行
       - runner
   script: # 定義後面Runner來執行的具體腳本
       - cd ~/Documents/gitlabRunner/  # 移動到要構建執行的項目下,目錄本身定
       - rm -rf runner  # 刪除裏面已有的項目runner
       - git clone git@gitlab.runner.com:app/runner.git # 從gitlab上克隆runner項目
       - cd runner # 移動到runner項目中
       - yarn install # 安裝依賴包
   only:
       - master # 指定只有master分支變動的纔會運行這個階段

test_job:
   stage: test
   tags:
       - runner
   script:
       - cd ~/Documents/gitlabRunner/runner
       - yarn test  # 執行測試
   only:
       - master

build_job:
   stage: build
   tags:
       - runner
   script:
       - cd ~/Documents/gitlabRunner/runner
       - yarn build # 執行構建
   only:
       - master
deploy_job:
    stage: deploy
    tags:
        - runner
    script:
        - cd ~/Documents/gitlabRunner/runner
        - yarn publish  # 發佈代碼 
    only:
        - master

複製代碼

提交代碼到master分支,查看運行結果

相關文章
相關標籤/搜索