gitlab + gitlab-runner 實現項目的自動化部署測試環境與打包 - 相對完整版

前提: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

    ---參考docker安裝gitlab的url

    訪問網址,應該是成功的

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 ,觸發自動化打包的腳本

------------------寫的很差,不喜勿噴。

相關文章
相關標籤/搜索