显示导航

Grath on Github动作

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

s塞尔吉奥·德尔阿莫

365bet地区版本 4.0.1

365bet地区365bet地区培训

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

入门

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

持续集成是一种软件开发实践,团队成员通常经常集成他们的工作,每个人至少每天进行集成,导致每天进行多次集成。每个集成都通过自动构建进行了验证,其中包括进行测试以尽快检测到集成错误的方法。这种方法可以大大减少集成问题,并使团队可以更快地开发具有凝聚力的软件
马丁·福勒

在本指南中,我们使用Github操作

GitHub Actions使您现在可以通过世界一流的CI CD轻松地自动化所有软件工作流程Build测试并直接从GitHub部署代码使代码审查分支机构管理并按您希望的方式进行分类工作

365bet地区您将在GitHub上创建365bet地区应用程序并使用Github动作构建和测试代码本指南假定您熟悉Git和GitHub,还假定您已经拥有GitHub帐户。

您将需要什么

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

  • 花些时间在你手上

  • 体面的文本编辑器或IDE

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

如何完成指南

要开始,请执行以下操作

要么

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

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

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

要完成指南,请转到初始

  • 光盘进入grails指导grails上的github操作初始

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

您可以直接前往完成的例子如果你光盘进入grails指导grails完成github操作

编写申请

初始365bet地区项目包含使用以下命令创建的365bet地区应用程序:网络365bet地区365bet地区应用伪造.

您的构建文件建立gradle设置为无缝运行Geb测试

gradle属性
grails版本4.0.1gormVersion7.0.2释放assetPipelineVersion3.0.11webdriverBinariesVersion1.4硒版本3.141.59chromeDriverVersion78.0.3904.105geckodriverVersion0.26.0
建立gradle
buildscript依赖类路径"gradle插件com github erdi webdriver二进制文件webdriver二进制文件gradle插件" (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 包括一个测试编译365bet地区对Geb 365bet地区插件的依赖,该插件具有对给小鸡.
3 添加必要的硒依赖关系以使用Chrome
4 添加必要的硒依赖关系以使用Firefox
5 Geb建立在WebDriver的基础上,您需要这些测试编译依存关系
6 配置ChromeDriverWebdriver二进制Gradle插件要使用的版本
7 配置GeckoDriverWebdriver二进制Gradle插件将使用的Firefox版本

单元测试

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

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

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

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

整合测试

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

src集成测试groovy示例grails主页groovy
例子进口 给页面

 主页 延伸静态的网址"/"

    静态的内容标题$('H', 0) }
    }

    getTitle titleHeader文本
src集成测试groovy示例grails DefaultHomePageSpec groovy
例子进口 geb spock GebSpec
进口 grails测试mixin集成集成

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

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

'
() { 什么时候主页页面到主页然后页面标题'欢迎来到365bet地区' } }

详细测试输出

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

修改建立gradle:

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

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

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

运行测试

验证到目前为止一切正常

运行测试

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

要么

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

创建GitHub存储库

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

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

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

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

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

整合Github动作

设置Github Actions创建一个文件

github工作流gradle yml
那么: Java CI
:
  :
    分行:
      - (1)
  拉取要求:
    分行:
      - (2)
工作:
  建立:
    继续: ubuntu最新
    战略:
      矩阵:
        : ['1.8', '11.0.4'] (3)
    脚步:
      - 使用动作电子邮件保护
      - 使用动作电子邮件保护 (4)
        :
          路径: Gradle缓存(4)
          : 跑步者os gradle hashFiles gradle(4)
          恢复密钥: |亚军os gradle
      - 名称设置JDK
        用途: 行动电子邮件保护
        :
          Java版本: 矩阵java
      - 名称Build with Gradle
        : gradlew检查并行继续 (5)
1 运行Github操作以推送到分支.
2 运行Github操作以将请求定向到分支.
3 为JDK运行Github操作并
4 GitHub cache Action允许缓存依赖项并构建输出以缩短工作流执行时间
5 运行测试

365bet地区当您将代码推送到Github时,您将看到同时使用JDK和JDK运行365bet地区测试

githubactions
githubactions

从这往哪儿走

帮助365bet地区

OCI赞助了本指南的创建OCI提供了几种365bet地区服务:

免费咨询

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

Grails OCI团队