1、使用 docker 安裝 gitlab
docker run -d --hostname gitlab \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.0.107/'; gitlab_rails['lfs_enabled'] = true;" \
-p 8443:443 -p 80:80 -p 22:22 --name gitlab \
--restart always -v $PWD/config:/etc/gitlab \
-v $PWD/logs:/var/log/gitlab -v $PWD/data:/var/opt/gitlab gitlab/gitlab-ce
參考URL:https://docs.gitlab.com/omnibus/docker/
2、安裝、注冊 runner
安裝參考官網
參考URL:https://docs.gitlab.com/runner/install/
需要runner的執行用戶有root權限,提升用戶的root權限自行度娘
3、配置yaml文件
官網URL:https://docs.gitlab.com/ce/ci/yaml/README.html
參考URL:https://gitlab.com/gitlab-org/gitlab-ce/tree/master/lib/gitlab/ci/templates
目前runner用的shell,在windows下需要注意編碼,使用npm install 時需要使用 call;
4、使用gitlab與gitlab-runner實現項目自動化部署
首先創建一個項目 test-ci,創建dev分支,dev為開發與測試的分支,使用dev分支自動化部署測試環境,同時dev與master分支均為保護分支,不可push,只有有權限的人才能merge;
master為最終生產環境的分支,當dev分支的代碼測試通過,可merge到master分支,同時可以使用tag來標識版本號並啟動deploy job。
很尷尬:https://docs.gitlab.com/ce/ci/variables/README.html tag標識版本gitlab 9 + runner 0.5 支持
最終解決方案客戶端使用git tag 獲取到版本號。