zoukankan      html  css  js  c++  java
  • 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 ,触发自动化打包的脚本

    ------------------写的不好,不喜勿喷。

  • 相关阅读:
    mysql 修改表
    mac下安装MySQL 5.7
    win&linux下path中%%与$ 以及;与:区别,
    PATH
    转 path设置方式
    MyEclipse乱码问题
    03 最大的数据库 information_schema介绍以及sql注入第一题题解
    02.mysql数据库 基本命令
    01.Windows进入MySQL数据库
    Web web4
  • 原文地址:https://www.cnblogs.com/wh-blog/p/11326751.html
Copyright © 2011-2022 走看看