Gitlab配置Gitlab-Runner实现简单的CI/CD

导读:本篇文章讲解 Gitlab配置Gitlab-Runner实现简单的CI/CD,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

其他博文连接

Gitlab配置Gitlab-Runner实现简单的CI/CD

配置说明

Gitlab

  • 系统:Ubuntu 16.04 Server
  • 内存:4G
  • IP:192.168.23.100
  • Dokcer Version : 18.09.0

Gitlab Runner

  • 系统:Ubuntu 16.04 Server
  • 内存:4G
  • IP:192.168.23.102
  • Dokcer Version : 18.09.0

安装Gitlab-Runner

  • 在Gitlab Runner的机器上执行命令
#在ubuntu server16.04版本下使用命令即可安装
$ sudo wget -O /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

#创建一个gitlab-ci用户
$ sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

#安装,并作为服务启动
$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

注册Runner到Gitlab

这部分内容在另一篇博文《GitLab持续集成持续部署(CI&CD)》有提到过,不过之前是使用的shell执行器,这里改用docker执行器。使用docker执行器能够对环境进行很好的隔离,其中的具体区别,可参考官方文档

  • 执行命令
$ sudo gitlab-runner register

会要求输入gitlab的url和Token.
查找过程如下:
进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend,即可在Setup a specific Runner manually这项中找到。如下:
在这里插入图片描述
其中url和token在图片中可以找到。

  • 进入注册流程
    命令输入完,点击回车后,会进入注册步骤,共分为以下几步:
    • 输入Gitlab实例的URL
      • 可在上图中查看
    • 输入要注册的仓库的Token
      • 可在上图中查看
    • 输入Runner的描述
      • 这里可以随便输入
    • 输入Runner的标签
      • 这里也可以随便输入
    • 选择Runner执行器
      • 执行器这里以Docker为示例
    • 选择默认镜像(Docker执行器)
      • 默认执行器是当在.gitlab-ci.yml中没有指定镜像(image)是默认的。因为我这里都是对Java代码进行流水线测试,所以这里就选取本人仓库中的一个默认镜像virtuex/base_java_env:gradle-4.10.2-openjdk-7-openjdk-8-docker-18。Dockerhub的地址为:https://cloud.docker.com/u/virtuex/repository/docker/virtuex/base_java_env

具体流程如下图所示:
在这里插入图片描述

  • 启动Gitlab-Runner
    执行下面命令:
$ gitlab-runner run

进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend,即可看到Gitlab-Runenr的运行状态
在这里插入图片描述

简单测试

  • 创建Gradle项目
    因为我们是使用gradle作为构建工具,所以请先创建一个gradle的项目,如果不会请自行面壁。
  • 在项目的根目录下创建.gitlab-ci.yml文件,内容暂定如下:
image: virtuex/base_java_env:gradle-4.10.2-openjdk-7-openjdk-8-docker-18

stages:
  - build
  - test

before_script:
  - echo "Restoring Packages..."

build_job:
  stage: build
  script:
  - echo "Release build..."
  except:
  - tags

test_job:
  stage: test
  script:
  - echo "Tests run..."
  - cd cds.ci.test
  - gradle test
  • push代码到仓库
    使用以上脚本提交的时候,CI流水线一直处于pending状态,并且提示:
This job is stuck because the project doesn't have any runners online assigned to it.
Go to Runners page

在这里插入图片描述
最后在官网,操作如下:

  • 进入仓库->settings->CI/CD,找到Runner Settings这一项,点击Expend

  • 找到对应的Runner点击配置按钮
    在这里插入图片描述

  • 将“Run untagged jobs”勾选上,保存。
    在这里插入图片描述

  • 重新执行即可执行成功,效果如下:
    在这里插入图片描述
    在这里插入图片描述

本章讲解下基本的配置,接下来结合SpringBoot应用进行自动化测试、自动化部署、集成Sonarqube静态代码检查等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13153.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!