GitLab CI/CD持续设置

官方文档地址(https://docs.gitlab.com/ee/ci/README.html)

GitLab CI、CD功能非常完善,只需要简单几步,就可以完成项目的持续集成和部署。

你需要准备的是:

1、 准备一个可以执行测试的服务器

2、 注册gitlab-ci-runner到项目

3、 配置CI执行策略,tag触发,还是每个commit都执行

4、 编写.gitlab-ci.yml文件,编写需要自动执行不命令即可

然后提交一个commit尝试下,如果没有问题,会看到pipeline中有任务在执行

Jobs中有每个阶段的任务执行,点击可以看到执行的详细信息,有对应的信息打印。

1.  编写.gitlab-ci.yml文件

对于项目的持续集成,要做哪些动作,该如何定义这动作,yml文件的编写语法,参见官方文档(https://docs.gitlab.com/ee/ci/yaml/README.html)。

.gitlab-ci.yml文件放在项目的根目录下,代码提交后,CI会自动根据文件定义的动作来执行。

并在在gitlab的项目的页面,开发.gitlab-ci.yml文件,会出现This GitLab CI configuration is valid. Learn more这样的提示,说明yml文件没有语法错误,如果有错误,则根据提示修改。

2.  准备执行服务器

Gitlab runner支持多种类型的服务器,这里我们使用Centos平台。

下载最新的gitlab-runner的软件,x86-64的版本下载地址为(https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64)。

为了操作方便,把文件名修改为gitlab-runner。

赋予文件的可执行权限:chmod a+x gitlab-runner

下载后,复制文件到runner运行服务器。

3.  注册执行服务器

打开gitlab的项目setting->CI/CD-Runners settings页面,会看到

gitlab runner配置需要的信息,包括url地址,以及token信息。

这里有两个关键信息:一个gitlab的服务器http地址,另外是注册runner的token。

注册runner服务器,

1、 执行./gitlab-runner regsiter,根据提示输入http地址,token注册runner,没有异常则会提示注册成功。

2、 使用./gitlab-runner status查看状态,如果没有running,则使用./gitlab-runner start来启动runner

3、 在web页面查看runner,正常可以看到刚才注册的runner。

这里的runner类型选择:Docker

4.  简单的demo

上面的设置完成后,提交一个commit触发CI。

这里我们的Demo的脚本如下:

image: your-project:latest

test:

  script:

    - echo “test”

    - cd tests

    - python test.py

这个脚本非常简单,拉取项目的最新镜像,打印test,然后到tests文件下执行test.py文件

从这里可以看出,yaml的语法和shell非常类似。

5.  执行结果展示

在CI/CD->pipeline可以看到每次提交CI的执行情况,点击status可以看到pipeline的执行详细信息。

Pipeline执行成功,则会显示为绿色的pass。

GitLab CI/CD持续集成设置的更多相关文章

  1. CI/CD持续集成/持续部署 敏捷开发

    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它 ...

  2. 用 GitLab CI 进行持续集成

    简介 从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成. ...

  3. [转] 基于Gitlab CI搭建持续集成环境

    [From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三 ...

  4. GitLab私有化部署 - CI/CD - 持续集成/交付/部署 - 源代码托管 & 自动化部署

    预期目标 源代码管理 借助GitLab实现源代码托管,私有化部署版本,创建项目,创建用户组,分配权限,项目的签入/牵出等. 自动化部署 源代码产生变更时(如签入),自动化编译并发布到指定服务器中部署, ...

  5. 搭建面向NET Framework的CI/CD持续集成环境(一)

    前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...

  6. 搭建面向NET Framework的CI/CD持续集成环境(一)Windows服务器安装Jenkins

    前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...

  7. CI/CD持续集成小结

    一.概念 什么是devops,基于Gitlab从零开始搭建自己的持续集成流水线(Pipeline) https://blog.csdn.net/chengzi_comm/article/details ...

  8. CI/CD持续集成方案

    一,CI/CD流程和持续交付简介 CI(Continuous Integration)持续集成  CD(Continuous Deployment)持续部署  CD(Continuous delive ...

  9. WTM框架使用技巧之:CI/CD(持续集成/持续部署)

    1. 什么是WTM框架? 一个快速.灵活.社区活跃.最最最最高效的.netcore 后台管理系统.详见 https://wtmdoc.walkingtec.cn/ 欢迎大家付费支持WTMPlus,反哺 ...

随机推荐

  1. 据说60%的Java程序员不明白分布式一致性?这次彻底搞懂!

    前言 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景. 1.火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车票,然后拿着 ...

  2. 多个datasource的配置与实现原理

          一般情况下,一个项目中只会有一个datasource,但是在某些情况.或者业务需求的情况下会出现一个项目有多个datasource的情况,当满足一定条件的时候,对数据库的操作就会从一个一个 ...

  3. PostgreSQL 、springboot 、spring data jpa 集成

    项目地址:https://gitee.com/zhxs_code/PostgreSQL_springboot_jpa_demo.git 增删查改都已经实现. 重点部分: 1.定义自己的方言. pack ...

  4. plsql修改某一行数据

    plsql修改某一行数据时, 在查询语句后面加上for update,再点击

  5. VS2019 开发Django(九)------内置模板和过滤器

    导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...

  6. Microsemi Libero使用技巧——使用FlashPro生成stp程序文件

    前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了. ...

  7. SSM框架整合之练习篇

    SSM的练习 : 1开发环境 数据库:mysql5.5以上版本. Jdk:1.7 开发环境:Eclipse mars2 Spring:4.2.4 Mybatis:3.2.7 Tomcat:7 2数据库 ...

  8. JS---案例:设置div的宽度

    案例:设置div的宽度 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  9. Qt在Android平台上实现html转PDF的功能

    Qt for Android Qt for Android enables you to run Qt 5 applications Android devices. All Qt modules ( ...

  10. Xposed反射字段流程分析

    在XposedBridge源码中,反射字段的方法封装在de.robv.android.xposed.XposedHelpers类里面.下面来看看Xposed是如何获取和设置字段的值的 获取字段的值 获 ...