docker本地部署gitlab+runner

此文主要介紹windows環境利用docker客戶端來本地部署gitlab+runner自動編譯node

1.docker軟件下載

windows平臺:點擊下載linux

mac平臺:點擊下載git

2.鏡像下載

Docker Hub 的地址是:hub.docker.com/web

3.鏡像安裝

下邊以gitlab爲例:docker

https://hub.docker.com/r/gitlab/gitlab-ceshell

使用shell窗口下載鏡像npm

docker pull gitlab/gitlab-ce
複製代碼

4.容器建立以及運行

docker run -d  -p 3003:80 --name=gitlab-ce --restart=always gitlab/gitlab-ce
複製代碼

容器內的端口包括 HTTP 端口(80)、HTTPS 端口(443)和 SSH 端口(22)vim

目前只對http端口進行映射至宿主3003端口,可進行瀏覽器訪問windows

5.更改克隆地址

1).修改 HTTP 克隆地址比較簡單,直接經過管理員身份在 Admin Area (點擊後臺上方的扳手符號進入)即可以操做。瀏覽器

Settings -> 
Genenal -> 
Visibility and access controls -> 
Custom Git clone URL for HTTP(S)
複製代碼

2).進入容器修改配置

docker exec -it gitlab-ce /bin/bash
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
複製代碼

進入文件後,修改gitlab的host和port,而後執行重啓命令

gitlab-ctl restart
複製代碼

重啓執行命令和在docker客戶端手動操做均可以

至此,你的gitlab在本地就部署好了!

bug:重啓以後還要修改此文件(還未找到解決方案)

6.runner自動編譯安裝

拉取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
複製代碼

進入runner容器

docker exec -it gitlab-runner bash
複製代碼

註冊runner

gitlab-runner register
複製代碼

而後輸入gitlab實例地址,token,描述,標籤,執行者(docker)以及docker版本(alpine:latest)

經過以上命令以後,咱們就能夠在gitlab看到剛剛建立的runner(由共享和單個項目之分)

修改runner配置文件,提升自動編譯效率

找到volumes配置,修改成以下,分別是掛載了宿主機的docker和配置Maven的緩存,提升效率

volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock","/data/.m2/:/.m2/"]
複製代碼

在volumes配置下方增長一行配置,防止Runner重複拉取鏡像

pull_policy = "if-not-present"
複製代碼

而後重啓runner

docker restart gitlab-runner
複製代碼

至此,runner配置完畢

7.項目實際應用

# 依賴鏡像
image: node:10.16.0

before_script:
  - echo "before script"
  - npm config set registry http://r.cnpmjs.org/

after_script:
  - echo "after script"

# 定義階段 stages
stages:
  - build

# 定義 build
job-build:
  # 開始以前須要安裝依賴
  stage: build
  script:
    - npm install
    - npm run build
    - echo "finish build stage"
  only:
    - master
  tags:
    - mirror
  artifacts:
    paths:
        - dist/
複製代碼

以上爲項目根目錄.gitlab-ci.yml腳本,只要master分支發生變化便會自動編譯打包

運行自動編譯以後,可進行打包文件下載!

8.linux經常使用文件操做命令

i 進入插入模式,能夠修改
修改完畢後按 esc 退出編輯模式
打 : 進入命令模式
q 直接退出,有修改會報錯
q! 不保存退出
wq 保存並退出
複製代碼
相關文章
相關標籤/搜索