国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在docker中執行gitlab-runner

JouyPub / 2068人閱讀

摘要:環境目的使用安裝和配置,搭建持續集成環境。注冊和初始化是進入容器的執行命令,用于注冊和初始化。

環境:ubuntu 16.04 LTS
目的:使用Docker安裝和配置GitLab Runner,搭建GitLab CI持續集成環境。

安裝gitlab-runner
$ docker run -d --name gitlab-runner --restart always 
  -v /srv/gitlab-runner/config:/etc/gitlab-runner 
  -v /var/run/docker.sock:/var/run/docker.sock 
  gitlab/gitlab-runner:latest

參數說明:

-d: 設置容器后臺運行

--name:容器名稱

-restart always:每次啟動容器就重啟 gitlab-runner

-v: 共享目錄掛載

安裝好后,執行$ docker ps 查看容器是否運行。

注冊和初始化
$ docker exec -it gitlab-runner gitlab-ci-multi-runner register

gitlab-runner register是進入gitlab-runner容器的執行命令,用于注冊和初始化gitlab-runner
以下是我的配置:注意:docker image為滿足你項目構建所需環境的鏡像。

我們也可以編輯vim /srv/gitlab-runner/config/config.toml,手動修改配置:

concurrent = 1
check_interval = 0

[[runners]]
  name = "test"
  url = "https://xxxx.oooo.com"
  token = "3894a417b64744e942008bcc51123a"
  executor = "docker"
  builds_dir = "/gitlab/runner-builds"
  cache_dir = "/gitlab/runner-cache"
  [runners.docker]
    tls_verify = false
    image = "node:latest"
    privileged = false
    disable_cache = false
    volumes = ["/data/gitlab-runner:/gitlab"]
    shm_size = 0
    pull_policy = "if-not-present"
  [runners.cache]

gitlab-ci token可以從gitlab上的項目的CI設置中獲得。
builds_dir 為文件存放位置
volumes 掛載目錄
pull_policy 設置gitlab是否從遠程拉去image,如果iamge是本地的需要配置該屬性的值為: if-not-present 或者 never

創建.gitlab-ci.yml文件

我的項目為nodejs項目,以下為測試配置。

stages:
  - install

cache:
  key: ${CI_BUILD_REF_NAME}
  paths:
    - node_modules/

job-install:
  stage: install
  script:
    - whoami
    - echo $SHELL
    - rm -rf node_modules/
    - pwd
    - source ~/.bashrc
    - nvm use 8
    - node -v
    - yarn
  only:
    - preview
  tags:
    - test

配置好gitlab-ci文件之后,提交修改,并將最新的修改推送到origin/preview分支,即可觸發CI:

Running with gitlab-runner 10.2.0 (0a75cdd1)
  on test (3894a417)
Using Docker executor with image followme/node:v1 ...
Using docker image sha256:07e33b24b6a9bebc0e0d8ba24f15b4b3c0f6fcf321a3809371a6211ac1afc38e for predefined container...
Using locally found image version due to if-not-present pull policy
Using docker image followme/node:v1 ID=sha256:c99c549e8227e2323d1cebb6f988d5d8f6de7f77e1967fe0f02878b85cb72b0f for build container...
Running on runner-3894a417-project-643-concurrent-0 via 304e3efed168...
Cloning repository...
Cloning into "/gitlab/runner-builds/3894a417/0/Frontend/api-member"...
Checking out 311e85cb as preview...
Skipping Git submodules setup
Checking cache for preview...
Successfully extracted cache
$ whoami
root
$ echo $SHELL
/bin/bash
$ rm -rf node_modules/
$ pwd
/gitlab/runner-builds/3894a417/0/Frontend/api-member
$ source ~/.bashrc
$ nvm use 8
Now using node v8.3.0 (npm v5.3.0)
$ node -v
v8.3.0
$ yarn
yarn install v1.3.2
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 7.21s.
Creating cache preview...
node_modules/: found 5627 matching files           
Created cache
Job succeeded

注意:之前我是在Ubuntu14.04版本的系統上做這些配置,但是當執行CI的時候總會遇到以下報錯:
ERROR: Preparation failed: Error reading remote info: json: cannot unmarshal number into Go struct field Info.Debug of type bool

將系統升級為16.04后解決該問題

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27150.html

相關文章

  • gitlab-ci坑后感與指北

    摘要:本文的目的最主要是備忘其次是分享療效并不能讓你一下子掌握這只是一個比較完整的解決方案其他基礎知識自行補充基調首先這不是屠龍刀不要奢望一篇文章可以走遍天下這里只是提供一個具體的落地方案一個具體的技術選型階段代碼倉庫關于代碼倉庫本文選取的方案是 本文的目的:最主要是備忘, 其次是分享 療效: 并不能讓你一下子掌握CI/CD, 這只是一個比較完整的解決方案,其他基礎知識,自行補充. 基調...

    jerry 評論0 收藏0
  • Docker Swarm集群搭建教程

    摘要:現階段,容器技術已經相當成熟,就算是中小型公司也可以基于鏡像服務輕松搭建自己的集群服務。線上環境可以設置為,測試環境設置為安裝創建一個項目登錄創建一個項目。接下來我們就可以訪問集群任意一臺機器的端口。 現階段,Docker容器技術已經相當成熟,就算是中小型公司也可以基于 Gitlab、Aliyun鏡像服務、Docker Swarm 輕松搭建自己的 Docker集群服務。 安裝 Dock...

    endless_road 評論0 收藏0
  • 持續集成之.gitlab-ci.yml篇

    摘要:因為可以安裝到不同的機器上,所以在構建任務運行期間并不會影響到的性能。注冊打開中的項目頁面,在項目設置中找到在運行的機器上,用命令行注冊,比如按照提示一步一步安裝就可以了。任務將按此順序執行。當然,這是不符合語義的。 在介紹.gitlab-ci.yml之前,我們先看幾個概念: GitLab Runner 一般來說,構建任務都會占用很多的系統資源 (譬如編譯代碼),而 GitLab CI...

    Ajian 評論0 收藏0
  • Gitlab CI/CD執行流程

    一、什么是CI/CDCI 持續集成CD 持續交付CI/CD就是在開發階段,通過自動化發布,來頻繁部署應用的一種方式二、為什么要配置CI/CD想象一下,一個項目的發布如果手動部署,需要的操作有:單元測試打包文件上傳服務器等等如果每個過程都需要手動執行,每次都要保證不出錯,這個已經很繁瑣了。而現在大的前端項目多達10+的人開發,而且人員流動大。如果每個人都這么發布,快速迭代就容易出錯。這時候就需要CI...

    社區管理員 評論0 收藏0
  • gitlab-runner-maven卡死的情況

    摘要:轉載請注明出處原文排版地址卡死的情況起因項目中遇到的情況,在構建項目的時候,總會在包或者文件的時候掛起,每次都是在不同的下載文件中卡住原因分析服務器是內網搭建的,所以不存在網絡不通暢的問題。每次項目構建時間都比較長,有可能是存在超時的 轉載請注明出處 http://www.paraller.com 原文排版地址www.paraller.com/2016/05/22/gitlab-r...

    qingshanli1988 評論0 收藏0

發表評論

0條評論

JouyPub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<