365bet地区Circle CI基础知识

365bet地区在本指南中,我们将学习如何设置Circle CI来构建和测试365bet地区应用程序

s尼拉夫·阿萨尔·塞尔吉奥·德尔阿莫

365bet地区版本 4.0.1

365bet地区365bet地区培训

365bet地区培训365bet地区由创建并积极维护365bet地区框架的人们开发和交付

入门

每个软件项目都需要持续集成CI.

持续集成是一种软件开发策略,可以在确保代码质量的同时提高开发速度。开发人员至少每天或每天几次连续不断地提交少量的代码,然后在与共享库合并之前自动对其进行构建和测试。资料库
Circle CI文件

Circle CI是一个持续集成平台,可与它通过自动构建测试和部署代码更改来支持您的开发过程

在本指南中,您将在GitHub上创建365bet地区应用程序并使用圈CI365bet地区构建和测试代码本指南假定您熟悉Git和GitHub,还假定您已经拥有GitHub帐户。该指南仅涵盖使用Circle CI构建和测试365bet地区应用程序,但是Circle CI具有部署发送通知和高度自定义CI作业的能力.

365bet地区Circle为任何项目提供了一个免费计划,并为满足更高的需求而制定了越来越昂贵的计划,因此,构建和测试开源365bet地区插件确实很方便,您可能希望为社区做出贡献

您将需要什么

要完成本指南,您将需要以下内容

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

  • 安装了JDK或更高版本JAVA首页适当配置

如何完成指南

要开始,请执行以下操作

要么

365bet地区指南存储库包含两个文件夹

  • 初始初始项目通常是一个简单的365bet地区应用程序,其中包含一些其他代码,可以帮助您快速入门

  • 完成一个完整的示例它是按照指南中介绍的步骤进行操作并将这些更改应用于文档的结果。初始

要完成指南,请转到初始

  • 光盘进入grails指导grails上circleci基础的初始

并按照下一节中的说明进行操作

您可以直接前往完成的例子如果你光盘进入grails引导关于gracici基础的grails完成

编写申请

初始网络轮廓

您构建的gradle文件应该看起来像

gradle属性
grails版本4.0.1gormVersion7.0.2释放assetPipelineVersion3.0.11webdriverBinariesVersion1.4硒版本3.141.59chromeDriverVersion78.0.3904.105geckodriverVersion0.26.0
建立gradle
buildscript依赖类路径"" (1)应用插入:"与github erdi webdriver二进制文件" (1)依赖项testCompile"org grails出生的插件" (2)测试编译"org seleniumhq selenium htmlunit驱动程序"testRuntime'净sourceforge htmlunit htmlunit'testRuntime"org seleniumhq硒硒铬驱动程序$硒版本"  (3)testRuntime"org seleniumhq selenium selenium firefox驱动程序$硒版本" (4)测试编译"org seleniumhq selenium selenium远程驱动程序$硒版本"  (5)测试编译"org seleniumhq硒api$硒版本"            (5)测试编译"org seleniumhq硒硒支持$硒版本"        (5)webdriver二进制chromedriver"${chromeDriverVersion}"  (6)geckodriver"${geckodriverVersion}" (7)
}
1 应用Webdriver Binaries Gradle插件一个Gradle插件,该插件下载特定于构建在其上运行的操作系统的WebDriver二进制文件。该插件还将配置构建的各个部分以使用下载的二进制文件
2 包括一个测试编译对Geb 365bet地区插件的依赖,该插件具有对给小鸡.
3 添加必要的硒依赖关系以使用Chrome
4 添加必要的硒依赖关系以使用Firefox
5 Geb建立在WebDriver的基础上,您需要这些测试编译依存关系
6 配置ChromeDriverWebdriver二进制Gradle插件要使用的版本
7 配置GeckoDriverWebdriver二进制文件Gradle Plugin使用的Firefox版本

单元测试

初始应用程序包含一个单元测试,该单元测试将验证默认的UrlMapping/.

src测试groovy示例grails UrlMappingsSpec groovy
例子 免费测试Web UrlMappingsUnitTest
 spock lang规格

 网址映射规范 延伸规格实施UrlMappingsUnitTest {

    虚空 "测试正向映射"() {
        期望verifyForwardUrlMapping"/", : '指数')
    }
}

整合测试

初始应用程序包含一个功能测试,该功能测试使用Geb来验证主页是否显示该句子欢迎来到365bet地区.

src集成测试groovy示例grails DefaultHomePageSpec groovy
例子 geb spock GebSpec
 grails测试mixin集成集成

积分
 DefaultHomePageSpec 延伸GebSpec定义 '验证那里

当我们访问主页时,标题为“欢迎使用365bet地区”的文本

'
() { 什么时候'/' 然后: $('H'文本'欢迎来到365bet地区' } }
1 除非系统属性,否则忽略测试吉布环境存在

详细测试输出

在持续集成服务器中运行测试时,对于获得更详细的输出很有用

修改建立gradle:

建立gradle
类型测试testLogging事件的任务"通过了", "跳过", "失败了"exceptionFormat'充分'
    }
}

当我们执行测试时,我们将看到如下输出

gradlew测试示例grails UrlMappingsSpec测试正向映射PASSED

运行测试

验证到目前为止一切正常

gradlew Dgeb env chrome无头检查运行测试

grailsw grails测试应用程序grails打开测试报告

要么

gradlew检查打开构建报告测试索引html

创建GitHub存储库

365bet地区我们将需要将365bet地区应用程序放置在GitHub上,以便Circle CI可以访问它

前往GitHub并按照指示进行操作创建一个新的存储库.

在创建仓库时,将其设为公共选项,不要创建许可证和gitignore。我们正在导入现有代码库,因此我们希望避免冲突

通过执行以下命令将代码导入GitHub上的仓库中

git init git add git commit m首先提交git remote add origingit push u原始主机

整合Circle CI

Circle CI与您的GitHub帐户直接集成按照Circle CI网站上的说明进行操作创建一个仓库以集成Circle CI

简而言之,您将需要

  1. 使用您的GitHub帐户登录Circle CI

  2. 授予Circle访问您的存储库的权限

  3. 使用Circle CI启用存储库

  4. 创建一个circleci配置yml

下图显示了如何使用Circle CI Click Setup Project启用存储库

圈

创建圈子配置文件

配置yml文件告诉Circle CI怎么做它必须位于文件夹类中Circleci在项目的顶层,Circle CI使用docker映像作为容器,并能够缓存依赖项

circleci配置yml
: 2 (1)
工作:
  建立:
    工作目录: 回购
    码头工人:
      - 图像circleci openjdk jdk浏览器(2)
    环境:
      JVM选项: Xmx m(3)
      术语: 
    脚步: (4)
      - 查看(5)
      - 恢复缓存(6)关键grailsapp校验和构建gradle校验和gradle属性
      - 运行chmod x gradlew
      - 运行gradlew控制台普通testClasses(7)
      - 运行gradlew控制台普通的IntegrationTestClasses(8)
      - 保存缓存(9)路径gradle密钥grailsapp校验和构建gradle校验和gradle属性
      - 运行gradlew console普通Dgeb env chrome无头检查(10)
      - 存放文物(11)路径构建报告目标报告
      - 存储测试结果(12)路径构建测试结果
1 校验CircleCI Java配置更多细节
2 将此Docker Image设置为主容器脚步会跑
3 自定义JVM最大堆限制
4 可执行命令的集合
5 将源代码检出到工作目录
6 首次运行后或在以下情况下还原保存的缓存建立gradle已经改变
7 组装测试班
8 组装集成测试类
9 保存项目依赖项
10 同时运行集成功能测试和单元测试Feature方法DefaultHomePageSpec如果不指定系统属性,将被忽略吉布环境.
11 从上载HTML测试报告建立报告作为人工制品
12 从中上传测试元数据建立测试结果目录,以便它可以显示在CircleCI仪表板中

将更改提交到Git,将其推送到远程存储库https circleci com并查看构建的运行情况。构建完成后,重新启动构建,以演示Circle CI将使用缓存进行依赖

从这往哪儿走

圈CI文档,看有什么可能

帮助365bet地区

365bet地区服务:

免费咨询

OCI 365bet地区团队包括365bet地区联合创始人检查我们的并向发展和维护365bet地区的工程师学习

Grails OCI团队