前提:html
環境:一臺Ubuntu18.04機器,4核 8g以上,低了卡linux
1、修改Ubuntu18.04的安裝源git
因爲網絡不行,不改安裝源下載東西下載不下來docker
一、備份shell
sudo cp /etc/apt/sources.list /etc/apt/sources.list.baknpm
二、修改默認源爲阿里,添加以下代碼json
sudo vim /etc/apt/sources.list ubuntu
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 multiversevim
三、更新bash
sudo apt-get update
---------------修改默認源參考連接
2、安裝 docker
第一種方式:離線安裝docker
第二種方式:官方在線安裝
安裝完後配置加速器否則pull鏡像有點慢,這個網上不少,阿里、網易、daocloud 均可以
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
3、docker 安裝 gitlab
一、建立一個gitlab的目錄
mkdir ~/gitlab
二、進入目錄,運行命令安裝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
訪問網址,應該是成功的
4、安裝gitlab-runner
一、命令安裝
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
二、註冊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 權限,否則權限不夠
三、給 gitlab-runner 用戶提高權限
sudo vim /etc/passwd
把gitlab-runner那一行的數字改爲0 就能夠了,注意觀察 root 那一行,對比修改
5、建立項目編寫自動化部署腳本
編寫在項目中建立 .gitlab-ci.yml,gitlab-ci編寫參考網址
參考腳本,腳本中用到了 npm 與 dotnet-cli,自行下載安裝,網很差的 npm 必定要用國內的源,否則要卡死
npm config set registry http://registry.npm.taobao.org
須要注意的是,gitlab-runner 中對特殊符號支持很差,最好編寫腳原本作,好比 if 語句等。
六:流程大致思路
一、開發人員開發完成後,提交一個合併請求到 dev 分支,受理人爲測試人員,測試人員點擊合併後,觸發自動化部署測試環境腳本,部署程序
二、測試人員測試完成後,提issue,若是有問題,修改bug,沒有大的問題,合併到master,並建立一個 tag ,觸發自動化打包的腳本
------------------寫的很差,不喜勿噴。