如何使用gitlab自带的CICD

如何使用gitlab自带的CICD上次分享了gitlab+jenkins实现CICD,前提我们需要安装一个jenkins。其实高版本的gitlab已经具备CICD功能,笔者使用的版本是:GitLab社区版11.4.10安装RunnersSettings>CI/CD>Runners根据提示点击InstallGitlabRunner下面根据你的系统选择相应的安装包,笔者以linux为例:这里…

大家好,又见面了,我是你们的朋友全栈君。

上次分享了gitlab+jenkins实现CICD,前提我们需要安装一个jenkins。其实高版本的gitlab已经具备CICD功能,笔者使用的版本是:GitLab 社区版 11.4.10

安装Runners

Settings > CI/CD > Runners
在这里插入图片描述

  1. 根据提示点击Install Gitlab Runner
    下面根据你的系统选择相应的安装包,笔者以linux为例:
    在这里插入图片描述
    这里官方提供的安装步骤很详细:
    1. 下载安装包,使用cat /proc/cpuinfo命令查看你的cpu信息,如果flag一行有lm字样,证明你的系统是x86-64(电脑系统一般都是x86)
    sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
    
    
    1. 给runner赋予执行权限
    sudo chmod +x /usr/local/bin/gitlab-runner
    
    1. 安装并启动服务
    sudo gitlab-runner install --user=xxx --working-directory=/home/xxx
    sudo gitlab-runner start
    sudo gitlab-runner status # 查看是否启动成功
    
    1. 注册runner
      在这里插入图片描述
    sudo gitlab-runner register
    

    接下来需要输入gitlab地址和token,取自:
    在这里插入图片描述

    1. 如果安装成功,可以在Runners页面看到
      在这里插入图片描述

配置yml脚本

下面基于spring-boot + maven项目,提供一个脚本demo:

stages:
- build
- package
- deploy

build:
  stage: build
  tags:
  - one
  script:
  - echo "---------------开始编译-----------------"
  - mvn clean compile
  
package:
  stage: package
  tags:
  - one
  script:
  - echo "---------------开始打包-----------------"
  - mvn package -DskipTests=true
  only:
  - master

deploy:
  stage: deploy
  tags:
  - one
  script:
  - echo "---------------开始发布Jar至私服-----------------"
  - mvn source:jar deploy -DskipTests
  only:
  - master

这里的tags制定了运行该stage的runner。如果找不到会让作业一直处于pending状态,显示:“作业被卡主,请检查runner”。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137498.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php中常见的大坑,开发中应尽量避免

    php中常见的大坑,开发中应尽量避免

    2022年2月20日
    43
  • rabbitmq集群搭建_集群搭建步骤

    rabbitmq集群搭建_集群搭建步骤MQ为什么要使用集群?单机版无法满足真实应用的要求,如果RabbitMQ服务器遇到内存崩溃、机器掉电或者主板故障等情况况,该怎么办?单台RabbitMQ服务器可以满足每秒1000条消息的吞吐量,那么如果应用需要RabbitMQ服务满足每秒10万条消息的吞吐量呢?购买昂贵的服务器来增强单机RabbitMQ务的性能显得不足,此时搭建一个RabbitMQ集群才是解决实际生产中问题的关键。准备环境虚拟机环境:VMware®Workstation16Pro虚拟机版本:16.1.2build-1

    2022年9月10日
    0
  • 利用matlab画图(r语言能画出哪些图)

    clearallcloseallloadyi.txta=yi;b={‘北京”天津”石家庄”唐山”秦皇岛”太原”呼和浩特”包头’…’沈阳”大连”丹东”锦州”长春”吉林’…

    2022年4月17日
    38
  • java calendar类_Java Calendar类

    java calendar类_Java Calendar类Calendar类概述/***java.util.Calendar类:是一个日历类*Calendar类是一个抽象类,里边提供了很多操作日历字段的方法*如:YEAR、MONTH、DAYOFMONTH、HOUR**Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),*getInstance()方法返回了Calendar类的子…

    2022年4月30日
    33
  • 《王道》数据结构笔记整理2022级_数据结构笔记整理

    《王道》数据结构笔记整理2022级_数据结构笔记整理数据结构第一章绪论1.1数据结构的基本概念1.2数据结构的三要素1.3算法的基本概念1.4算法的时间复杂度1.5算法的空间复杂度第一章绪论1.1数据结构的基本概念1.数据:数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合。2.数据元素:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。例如,学生记录就是一个数据元素,它由学号、姓名、性别等数据项组成。3.数据对象:数

    2022年8月23日
    12
  • http 500状态码「建议收藏」

    http请求返回500状态码,整体原因是:服务器内部错误。这个原因太过笼统,看了和没看直接懵逼。今天遇到这么一个崩溃的问题,这么大的范围,怎么找呢?然后,静下来打开思路,慢慢想一下,分析过程:1.客户端请求服务端的时候,返回500,首先服务端的请求发出去了,并且返回了500,错误定位到服务端。2.服务端里面代码竟然没有执行任何打印语句,说明还没有执行到逻辑,就已经出错了。3.这边服务

    2022年4月5日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号