此文主要介紹windows環境利用docker客戶端來本地部署gitlab+runner自動編譯node
windows平臺:點擊下載linux
mac平臺:點擊下載git
Docker Hub 的地址是:hub.docker.com/web
下邊以gitlab爲例:docker
https://hub.docker.com/r/gitlab/gitlab-ceshell
使用shell窗口下載鏡像npm
docker pull gitlab/gitlab-ce
複製代碼
docker run -d -p 3003:80 --name=gitlab-ce --restart=always gitlab/gitlab-ce
複製代碼
容器內的端口包括 HTTP 端口(80)、HTTPS 端口(443)和 SSH 端口(22)vim
目前只對http端口進行映射至宿主3003端口,可進行瀏覽器訪問windows
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:重啓以後還要修改此文件(還未找到解決方案)
拉取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配置完畢
# 依賴鏡像
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分支發生變化便會自動編譯打包
運行自動編譯以後,可進行打包文件下載!
i 進入插入模式,能夠修改
修改完畢後按 esc 退出編輯模式
打 : 進入命令模式
q 直接退出,有修改會報錯
q! 不保存退出
wq 保存並退出
複製代碼