用centos和gitlab的CI做持续集成

1、安装runner

sudo yum install gitlab-ci-multi-runner

2、注册runner
 sudo gitlab-ci-multi-runner register

  Running in system-mode.                                                    
  Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

  #这里输入gitlab-ci 服务的运行地址,如:https://gitlab.com/, 回车后

  Please enter the gitlab-ci token for this runner

  #这里输入gitlab-ci的token,这个token在gitlab的后台,找到runners,里面有个token

  Please enter the gitlab-ci description for this runner

  #这里输入runner的描述

  Registering runner... succeeded

  Please enter the executor: shell, docker, docker-ssh, ssh?

  #这里选择shell吧

  Runner registered successfully.

3、启动runner

   单次运行:gitlab-ci-multi-runner run

  作为服务运行:

  gitlab-runner install --user "root" --service "shell-001" --working-directory="/data" # 这里安装一个服务

  gitlab-runner start --service shell-001 #启动这个服务

在gitlab的后台能够查看有runner运行。

4、.gitlab-ci.yml 编辑

这是一个ruby on rails的例子:

before_script:
  - git submodule update --init --recursive
  - cp /data/database.yml config/database.yml
  - sudo chmod +777 /usr/local/rvm/gems/ruby-2.3.0
  - gem install bundler
  - bundle install
  - RAILS_ENV=test bundle exec rake db:migrate
job:
  script: "bundle exec rspec"

提交代码应该能够自动运行测试了。



时间: 2024-10-06 11:23:52

用centos和gitlab的CI做持续集成的相关文章

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

[From] https://blog.csdn.net/wGL3k77y9fR1k61T1aS/article/details/78798577 前言 本文是在12月12号迅雷@赵兵在前端早读课第三期Live中提到的关于CI构建的,可能这部分在不同公司由不同的岗位负责,刚好如果你没遇到你可以看看. @赵兵,来自迅雷前端团队.是一个热爱前端技术,喜欢造轮子,爱折腾的人,也是一个奉行"懒惰使人进步"的懒人工程师. 正文从这开始- 本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitl

centos7下使用gitlab+shell实现CI/CD持续集成持续部署

centos7下使用gitlab+shell实现CI/CD持续集成持续部署 流程解释:第一步ci客户端向gitlab服务器注册自己,建立通信,第二步,当项目分支代码收到变化时,自动触发yml脚本,yml脚本根据注册时带入的runner通知客户端deploy脚本更新代码,同时执行编译和部署过程,deploy脚本写代码集成相关操作,具体见下面的讲解 CI部分 第一步:准备三台虚拟机S,C1,C2,我这里的三台机子都是全新的,除了系统文件没有其他文件 S:内存是4G用于装gitlab服务器 IP:19

为什么要做持续集成

持续集成在目前大多数的公司里都会有这样或者那样的使用.有的会选择一些Open Source的工具,如CruiseControl,Hudson,LuntBuild等等等等,有的会购买有更好服务,更强功能的商业产品,如TeamCity,QuickBuild等等,而有的会选择自己实现,如Cron+Ant/Maven/Make等等.那么使用下来效果如何呢?真得达到了预期的效果吗?我想来恐怕未必吧,否则也就不会有这么多的讨论了.[@[email protected]] 持续集成与敏捷编程 在敏捷领域中,测

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

敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作.面对面的沟通(认为比书面的文档更有效).频繁交付新的软件版本.紧凑而自我组织型的团队.能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发过程中人的作用. 1,CI/CD持续集

jenkins+webhook+docker做持续集成

简介:我们现在都流行把项目封装成docker的镜像,不过实际用的时候就会发现很麻烦,我们每次更改代码了以后都要打包成docker容器 ,事实证明项目比较多的时候真的会让人崩溃,我这边用spring cloud微服务+docker,才跑了6个项目每次修改上传,内心早已崩溃,现在我介绍一下 利用jenkins做持续集成. 环境:阿里云code的代码托管平台 jenkins容器 一台安装docker环境的主服务器 思路:分为3个job,job1->job2->job3,只有当前面的一个job单元测试

GitLab+Jenkins结合构建持续集成(CI)环境

持续集成概述 持续集成概述:持续集成(continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的代码部署集成到主干,并进行自动化测试. 持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境. 持续部署:在持续交付的基础上,把部署到生产环境的过程自动化. 版本控制系统概述 什么是版本控制系统 版本控制系统(Version Control System): 是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 版本控制系统不仅

04: CI(持续集成)/CD(持续交付/持续部署)

1.1 持续集成.持续交付 介绍   参考博客:https://www.cnblogs.com/cay83/p/8856231.html 1.传统交付 1. 传统软件的开发与交付的周期都很漫长,从需求的分析.系统的设计.编写测试用例.系统开发.单元测试.组装测试到交付调试. 2. 每一次交付.升级,都需要提供基础的硬件.软件的环境.软件的代码.软件的文档与手册. 3. 工程师都按照之前预演过好多遍的流程,对照着系统的部署手册,一步一步的组装硬件,安装软件,稍有差池,就要按照对应的应急预案进行回滚

CI/CD持续集成小结

一.概念 什么是devops,基于Gitlab从零开始搭建自己的持续集成流水线(Pipeline) https://blog.csdn.net/chengzi_comm/article/details/78778284 在编程中create.develop.build的意思 https://cloud.tencent.com/developer/news/253675 当谈到 GitLab CI 的时候,我们该聊些什么(上篇) https://xiaozhuanlan.com/topic/352

gitlab+jenkins+maven+docker持续集成(十一)——sonarqube及sonarscanner代码审查

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质 量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd.checkstyle. findbugs.Jenkins.通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程 进行代码质量管理. 同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar. 此外,Sonar 的插件还可以对