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. CSDN Markdown编辑器插入代码块时不能代码高亮

    当我们点击插入代码块按钮,会提示我们在这里插入代码片,我们在三个单引号对之间输入代码后发现并没有实现代码块高亮, 如下图所示: <!DOCTYPE html> <html lang= ...

  2. 关于云服务器中tomcat配置出现的部分问题以及解决方法

    问题描述:(一)tomcat的8080端口修改为80端口之后不能使用域名直接访问: (二)添加的项目不能通过域名直接访问(服务器端还待解决) 大致配置流程: 1.需要先购买合适的服务器,进行域名备案, ...

  3. Python面向对象-访问权限public和private

    上一节我们介绍了,Class内部可以有属性和方法,外部代码通过直接调用实例的方法来操作数据,这样就可以隐藏内部的逻辑实现:同时,外部代码还是可以自由的修改实例的属性和增加方法. 但是有时候,我们不想这 ...

  4. Oracle 创建用户,赋予指定表名/视图只读权限

    步骤指南 创建用户 格式:; 语法:create user 用户名 identified by 密码; 注:密码不行的话,前后加(单引号):' create user TEST identified ...

  5. spring boot 2 + shiro 实现简单的身份验证例子

    Shiro是一个功能强大且易于使用的Java安全框架,官网:https://shiro.apache.org/. 主要功能有身份验证.授权.加密和会话管理.其它特性有Web支持.缓存.测试支持.允许一 ...

  6. Spring Boot 设置项目名后静态文件相对路径问题

    出现问题的原因 server.servlet.context-path=testDemospring.mvc.static-path-pattern=/static/**定义项目名和静态资源路径后发现 ...

  7. Shell—定时任务(crontab)

    如何让shell脚本每天定时执行? 1.新建需要定时执行的shell脚本,这里为date.sh脚本. #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/u ...

  8. 制作excel下拉菜单

    1.选中excel中需要制作下拉菜单的单元格/列/行,点击‘数据’——'数据验证': 2.允许选择'序列',来源中手动输入需要的内容,以逗号(,)分割:  3.如下图,此列都具有下拉选择的功能:

  9. Cordova搭建,所遇到问题处理

    环境:NodeJs.[Android SDK | IOS] 安装:npm install -g cordova 过程: 1.创建一个项目:cordova create myApp 2.选择平台: co ...

  10. 前端小白webpack学习(二)

    前一篇写了自我总结的webpack定义:为JavaScript服务的静态模块打包器 和几大基本概念 entry.output.plugins.loaders等.指路前端小白webpack学习(一) 下 ...