我想在我的Android应用的“版本”名称中拥有当前的Git分支。我将代码段从此处构建到我的build.gradle
:
def getWorkingBranch() {
// Triple double-quotes for the breaklines
def workingBranch = """git --git-dir=${rootDir}/git
--work-tree=${rootDir}/..
rev-parse --abbrev-ref HEAD""".execute().text.trim()
print "Working branch: " + workingBranch
return workingBranch
}
如文章的第一条评论中所述,该代码段已稍作更改。
当我在本地构建我的应用程序时,它工作正常,但当使用构建应用程序时,它却无法正常工作Jenkins
。我还尝试了代码段的原始变体,在两种情况下,workingBranch
String都是空的。
Jenkins似乎“意识到”它建立的分支,它列出了下的分支
Git构建数据/构建分支
,所以应该有可能
如果这仅仅是为测试人员/下游,有关使用詹金斯的什么混帐环境变量来代替,如$GIT_BRANCH
?
在本地,构建时不会显示任何版本/空白,但是在Jenkins上构建时,它将在“版本”字符串中显示正确的分支名称。
要绕过产生空字符串的本地构建,可以使用上面的代码片段将分支设置为GIT_BRANCH
。不完美,但应该可以。
问题内容: 我正在尝试使用groovy构建脚本将构建管道迁移到“ Pipeline插件”。 我的管道通常是: 测试(等级) IntegrationTest(等级) 构建(渐变) 发布(人工工厂) 我想在我的jenkins构建脚本中使用gradle变量,例如version / group等,以发布到工件中的正确文件夹。过去,人工插件会为我解决。如何做到这一点? 对于单个gradle项目,我使用如下代
有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。
问题内容: 有没有办法在jenkins中获取当前构建的作业名称,并将其作为参数传递给ant构建脚本? 问题答案: Jenkins设置了一些环境变量,例如(请参阅此处),以获取有关设置的变量的更多详细信息。 然后,您可以通过在ant中访问它们。 编辑:还有在同一页上的环境变量有点HOWTO 这里。
问题内容: 我在Mercurial回购中托管了一个Gradle多项目。我想以这种方式设置我的Jenkins:如果我仅将更改提交到1个子项目中,则仅会构建该子项目并将其发布到我的Nexus存储库中。 有人可以给我提示吗?还是完全有可能? 问题答案: 在这里留下将来的最终解决方案。 我们为每个子项目创建了一个单独的Jenkins作业。Jenkins的Mercurial插件允许指定“模块”: 通过在存储
我正在努力在工作进行的时候得到测试结果。当我们通过eclipse运行测试套件时,我们在运行套件时从TestNG查看器获得测试结果,我想让Jenkins中的相同查看器或类似查看器在完成之前知道构建的当前状态。 我在TestNG Viewer中的意思是:运行套件TestNG Viewer的结果 谢谢大家:)
问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一