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 ,触发自动化打包的脚本

------------------写的很差,不喜勿喷。

相关文章
相关标签/搜索