`
m635674608
  • 浏览: 5047754 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用Gitlab CI进行持续集成

 
阅读更多

原理

在Gitlab-CI中有一个叫 Runner 的概念, 按照官方定义, Runner一共有三种类型

  • 本地Runner (优点:部署方便 , 缺点:使用的是开发机器的资源 MAC/WIN)
  • 普通的服务器上的Runner (优点: 没找到 , 缺点: 在RHEL系列的机器里特别难配置,至今未成功过)
  • 基于Docker的Runner (优点: 这可是Docker啊就问你怕不怕 , 缺点:至今没研究明白怎么用maven本地仓库,Build时候处理依赖极慢)

注意, 在你的项目配置页面会有如下信息

Runner安装成功之后, 就可以根据上图中的lo URL和Token 跟CI进行绑定, 之后这两端之间就会各种消息交互, 然后自动的Build&返回结果

使用

先来安装 gitlab-ci-multi-runner , 在MAC下使用最新版的 homebrew 安装即可, 其他系统见官方文档

$ brew update
$ brew install gitlab-ci-multi-runner

#然后启动Runner去和CI进行绑定
$ gitlab-ci-multi-runner register

#-->然后让你输入上图的CI URL
#-->然后让你输入上图的Token
#-->然后随便给Runner命名
#-->然后类型的话, 请务必选 Shell
#-->完毕

#把Runner当成Service启动
$ cd ~
$ gitlab-ci-multi-runner install
% gitlab-ci-multi-runner start

和 travis-ci 类似, 请在你的项目根目录下创建一个文件 .gitlab-ci.yml , 加入以下测试代码

build:
    script: "pwd & mvn test"

不出意外的话, 项目中已经有一个Build在开始跑了

注意事项

  • 本地Runner用的bash去构建的, 所以务必确保把环境变量配置全, 比如 JAVA_HOMEPATH
  • http://www.jianshu.com/p/315cfa4f9e3e
分享到:
评论

相关推荐

    深入探索 Java 与 GitLab CI 的集成艺

    GitLab CI/CD 正是在这样的背景下,成为了 Java 项目持续集成和持续部署的强大助力。本文将深入探讨 Java 与 GitLab CI/CD 的集成,揭示如何通过自动化流程提升 Java 项目的构建、测试和部署效率。 通过将 GitLab CI...

    openthos#kis-analysis#基于Gitlab CI搭建持续集成环境<四>1

    gitlab持续集成部署(CI/CD),使用docker配置gitlab-runner创建gitlab-runner容器:sudo docker run -d

    如何利用Gitlab-ci持续部署到远程机器(详细教程)

    长话短说,今天聊一聊使用Gitlab-CI 自动部署到远程服务器。 看过这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的站点,本次我们结合ssh部署到远程机器(将CI服务器和部署服务器分离,避免资源抢占...

    gitlab实现持续集成

    GitLab实现持续集成主要依赖于GitLab Runner,这是一个开源的应用,用于运行GitLab CI/CD流水线。GitLab Runner可以独立部署,也可以直接安装在GitLab服务器上。通过GitLab Runner,可以运行在多种操作系统上,包括...

    gitlab-ci-cd:使用gitlab CI测试持续集成和持续交付

    GitLab CI/CD 是一种强大的自动化工具,用于管理和执行软件开发过程中的持续集成(CI)和持续交付(CD)。在本文中,我们将深入探讨如何利用GitLab CI/CD与JavaScript项目相结合,特别是在创建React应用程序的场景下...

    这是一个简单的demo项目,用于展示如何使用GitLab-CI为Flask应用做单元测试和API测试.zip

    通过这个项目,开发者不仅可以学习如何在Flask应用中设置和执行测试,还能了解到如何利用GitLab CI/CD进行持续集成,实现代码质量的自动检查和应用的自动化部署。这将提高开发效率,减少手动测试的工作量,并确保...

    Gitlab CI Runner

    Gitlab CI Runner 安装包,相信想做持续集成的小伙伴会需要这个安装包的,加油!

    CI持续集成

    CI(Continuous Integration,持续集成)是一种...CI持续集成对于现代敏捷开发至关重要,它促进了团队的高效协作,确保了软件质量,并简化了版本控制管理。通过实践和优化CI流程,开发团队可以更有效地迭代和发布软件。

    gitlab和jenkins做持续集成构建教程.doc

    在当今这个快速发展的软件开发时代,持续集成(CI)和持续部署(CD)已成为企业提高开发效率、快速响应市场变化和保证软件质量的重要实践。GitLab和Jenkins作为两种流行的DevOps工具,它们在实现CI/CD流程中扮演着...

    GitLab CI持续集成配置方案

    GitLab CI持续集成配置方案是软件开发中的一个重要实践,它旨在提高开发效率并减少集成时可能出现的错误。本文主要关注如何在GitLab中配置持续集成环境,特别是针对.NET项目的集成。 1. 持续集成介绍 持续集成的...

    Gitlab持续集成持续部署(CI-CD)研究报告.doc

    ### Gitlab持续集成持续部署(CI/CD)研究报告 #### 1. 研究背景与现状 在当今快速变化的软件开发环境中,持续集成(Continuous Integration, CI)与持续部署(Continuous Deployment, CD)已经成为了提高软件产品...

    Devops_之—基于Gitlab与Jenkins的CI与CD.pdf

    并且对持续集成(CI)、持续部署(CD)和持续交付(Continuous Delivery)等概念进行了定义和解释。 在第一页的最后一节中,讨论了常见的部署方式,如集中式部署和分散式部署等。并且列举了一些常见的持续集成开源...

    GitLab + Jenkins 持续集成 + 自动化部署_V1.0.pdf

    GitLab和Jenkins是两种强大的工具,分别用于版本控制和持续集成/持续部署(CI/CD)。通过将它们结合使用,可以实现自动化的工作流程,从而提高软件开发的效率和质量。在本文中,我们将深入探讨如何利用GitLab与...

    给出了TC397 Tasking CMake Gitlab集成使工程可以命令行编译 CI CD的最小工程

    TC397 Tasking CMake Gitlab集成是一个用于构建C++项目的重要框架,它使得开发者能够在命令行环境中轻松地进行编译,并实现持续集成(CI)和持续部署(CD)的过程。这个最小工程包含了所有必要的组件,以确保开发...

    sonar-maven-ci-example:Maven项目中SonarQube和Gitlab CI之间集成的示例

    GitLab CI/CD则是一个自动化持续集成和持续部署平台,允许开发者在代码提交后自动运行测试、构建和部署任务。通过在GitLab的`.gitlab-ci.yml`配置文件中定义规则,我们可以设置SonarQube分析作为构建的一部分。 ...

    使用CODING进行Hexo项目的持续集成

    如图所示:CI过程:代码编写-&gt;源代码库(GitHuborgitlab)-&gt;CI服务器(代码构建、自动化测试、结果反馈【构建结果】)涉及CI工具:Jenkins、TravisCI、TeamCity、GitlabCI、CircleCI、Codeship等,相关资料可以查询...

    node-gitlab-ci:从TypeScript .ts文件动态创建.gitlab-ci.yml!

    持续集成(CI)和持续部署(CD)是软件开发中流程自动化的绝佳概念。 我们喜欢GitLab CI,因为它在具有强大配置功能的集成解决方案中实现了这一概念。 但是,管道配置存储在静态.gitlab-ci.yml文件中。 node-...

    test-external-ci:该项目用于测试GitLab CI的集成

    对于初学者,了解这些知识点将有助于理解一个实际的C++项目如何利用GitLab CI进行持续集成和外部服务的集成。对于有经验的开发者,这个项目可能提供了关于最佳实践、优化技巧和特定工具用法的案例研究。

    F4LabFlutter实现的GitLab客户端

    6. **持续集成/持续部署(CI/CD)**:如果项目包含CI/CD相关设置,可能涉及到GitLab CI/CD的使用,了解如何编写`.gitlab-ci.yml`文件来自动化测试和部署流程。 对于想要深入学习Flutter开发和GitLab集成的开发者来说...

Global site tag (gtag.js) - Google Analytics