【发布时间】:2017-12-21 16:22:34
【问题描述】:
我在 Google 上搜索了很长时间,但我放弃了,Groovy + Jenkins 的流行词带来了很多错误的标志......
我有一个在 IntelliJ 中开发的 Groovy 项目,它还包含一个带有单元测试的 JUnit.groovy。现在这是 SoapUI 的脚本,不需要 Maven、Ant 或 Grails,但我希望能够在 Jenkins 上编译这些文件并在之后运行单元测试。是否可以在 Jenkins 上构建和测试这些文件?到目前为止,所有解决方案似乎都是我手动运行 groovyc(与我的存储库一起提交),然后在 JUnit.class 上运行 JUnit。
所以在我开始深入挖掘并编写 Maven、Grails 或 Ant 文件之前,是否有另一种方法不涉及在我的 git 上推送 GroovySDK?或者是否有一个简单的构建脚本,不涉及 20 个库和步骤来构建 groovy 源代码并运行 JUnit 测试:)?
我显然是 Jenkins 的新手 ;),感谢您的意见。
更新:
-
那么对于像我这样的新手来说,需要什么?首先,我将本地源代码更改为 gradle 项目(记得在 IntelliJ 中激活 AutoImport)并激活 JUnit xml 的创建,因为我不使用 Maven 并且系统处于“离线”状态,所以无论如何我们在 git 中都有库所以我的
build.gradle是:version '2.5-SNAPSHOT' apply plugin: 'groovy' dependencies { compile fileTree(dir: '../Library', include: ['*.jar']) } test { reports { junitXml.enabled = true html.enabled = true } } sourceCompatibility = 1.8 通过
gradle wrapper为gradlew.bat设置项目的gradle wrapper- 然后我在我的 git-
/.hooks/中添加了一个post-commit,所以我的 Jenkins 在通过curl http://jenkins:8080/git/notifyCommit?url=https://git.git&branches=dev提交时被触发 -
终于在jenkins上建立了一个管道:
#!groovy node { stage('Checkout') { git branch: 'dev', credentialsId: 'youwish', url: 'https://git.git' } stage('Build') { dir('./Modules') { gradle('clean') gradle('compileTestGroovy') } } stage('UnitTest') { dir('./Modules') { gradle('test') junit '/build/test-results/**/TEST-*.xml' } } stage('IntegrationTest') { stage('CodeTableDownload') { dir('./SoapUi') { bat 'AutoRun.bat' junit '/results/**/*-JUNIT.xml' } } } } def gradle(command) { bat "./gradlew.bat $command" }
【问题讨论】:
标签: jenkins gradle groovy junit