前提:
環境:一台Ubuntu18.04機器,4核 8g以上,低了卡
一、修改Ubuntu18.04的安裝源
由於網絡不行,不改安裝源下載東西下載不下來
1、備份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2、修改默認源為阿里,添加如下代碼
sudo vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
3、更新
sudo apt-get update
---------------修改默認源參考鏈接
二、安裝 docker
第一種方式:離線安裝docker
第二種方式:官方在線安裝
安裝完后配置加速器不然pull鏡像有點慢,這個網上很多,阿里、網易、daocloud 都可以
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
三、docker 安裝 gitlab
1、創建一個gitlab的目錄
mkdir ~/gitlab
2、進入目錄,運行命令安裝gitlab
cd ~/gitlab
sudo docker run -d --name gitlab --restart=always --hostname gitlab.xxx.com -e GITLAB_OMNIBUS_CONFIG="external_url 'http://gitlab.xxx.com/'; gitlab_rails['lfs_enabled'] = true;" \
-p 443:443 -p 80:80 -p 22:22 -v $PWD/config:/etc/gitlab -v $PWD/logs:/var/log/gitlab -v $PWD/data:/var/opt/gitlab gitlab/gitlab-ce
訪問網址,應該是成功的
3、修改gitlab的80端口
1)需要修改 etc/gitlab.rb 中 external_url="http://gitlab.xxx.com:801/"
2)添加 nginx['listen_port'] = 801
3)-p 801:801
四、安裝gitlab-runner
1、命令安裝
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo chmod +x /usr/local/bin/gitlab-runner
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
2、注冊gitlab-runner
sudo gitlab-runner register,根據提示依次輸入
1)輸入gitlab的網址 http://gitlab.xxx.com/
2)輸入gitlab的token 管理員登錄到gitlab在 admin area 的 runners 里面
3)輸入描述 自動化部署測試環境與打包app
4)輸入tag autotest
5)輸入executor shell
完成...,需要注意的是 gitlab-runner 這個用戶需要 root 權限,不然權限不夠
3、給 gitlab-runner 用戶提升權限
sudo vim /etc/passwd
把gitlab-runner那一行的數字改成0 就可以了,注意觀察 root 那一行,對比修改
五、創建項目編寫自動化部署腳本
編寫在項目中創建 .gitlab-ci.yml,gitlab-ci編寫參考網址
參考腳本,腳本中用到了 npm 與 dotnet-cli,自行下載安裝,網不好的 npm 一定要用國內的源,不然要卡死
npm config set registry http://registry.npm.taobao.org
需要注意的是,gitlab-runner 中對特殊符號支持不好,最好編寫腳本來做,比如 if 語句等。
六:流程大體思路
1、開發人員開發完成后,提交一個合並請求到 dev 分支,受理人為測試人員,測試人員點擊合並后,觸發自動化部署測試環境腳本,部署程序
2、測試人員測試完成后,提issue,如果有問題,修改bug,沒有大的問題,合並到master,並創建一個 tag ,觸發自動化打包的腳本
------------------寫的不好,不喜勿噴。