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


前提:

  環境:一台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

    ---參考docker安裝gitlab的url

    訪問網址,應該是成功的

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

------------------寫的不好,不喜勿噴。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM