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. centos7 启动停止命令

    apache启动systemctl start httpd停止systemctl stop httpd重启systemctl restart httpd mysql启动systemctl start ...

  2. Jrules sample server 配置

    配置文件位置:[Jrules install location]/shared/tools/AppServerCommunityEdition/var/config

  3. Node6-2单元测试 覆盖率Istanbul

    Step1:安装Istanbul npm install -g istanbul Step2:在package.json里面添加,具体参考Istanbul的API写法 "scripts&qu ...

  4. 防止DataGridview闪烁

    在Load事件中加入 typeof(DataGridView).InvokeMember("DoubleBuffered", BindingFlags.NonPublic | Bi ...

  5. WebGPU学习(六):学习“rotatingCube”示例

    大家好,本文学习Chrome->webgpu-samplers->rotatingCube示例. 上一篇博文: WebGPU学习(五): 现代图形API技术要点和WebGPU支持情况调研 ...

  6. Python工作好找吗?没有工作经验和学历怎么找?【就业必学】

    大家都知道,随着人工智能时代的到来,Python的需求也变的越来越大了.从目前各大IT招聘网上显示招聘需求是非常大,而且薪资基本都在10k起,高的可达40-50k,当然这个要求很高,看下普遍的吧: 一 ...

  7. POJ2182题解——线段树

    POJ2182题解——线段树 2019-12-20 by juruoOIer 1.线段树简介(来源:百度百科) 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线 ...

  8. Nginx-HTTP Strict Transport Security(HSTS)

    HTTP Strict Transport Security(HSTS) HTTP Strict Transport Security(通常简称为HSTS)是一个安全功能,它告诉浏览器只能通过HTTP ...

  9. XAF Architecture XAF架构

    Applications built with the eXpressApp Framework are comprised of several functional blocks. The dia ...

  10. CSS 选择器、字体/文本、背景

    CSS的基本使用 直接写在标签内 <p style="color: red; font-size: 40px;">段落</p> 写在 style 标签内 & ...