有没有办法从同一个构建中保存/存档多个工件?
Jenkins只允许一个'Archive the Artifacts'构建后步骤,并且在使用一次后灰色显示该选项.
也许这ArtifactsArchiver会允许多种模式?
我是Jenkins Pipeline插件的新手,尤其是multibranch管道插件的新手.在标准版本中,我可以访问$ GIT_BRANCH变量来了解正在构建的分支.但是,该变量未在multibranch管道中设置.我也尝试了env.GIT_BRANCH,并尝试将$ GIT_BRANCH作为参数传递给构建.似乎没什么用.我假设,因为构建知道正在构建的分支(我可以看到控制台输出顶部的分支名称,我可以使用的东西,我只是找不到任何引用它.
这是一个为什么这很重要的例子.我们正在使用gitflow模式.我们有dev,release和master分支,它们都用于创建工件.dev分支自动部署,另外两个没有.还有功能,错误修复和修补程序分支.应该构建这些分支,但不会产生伪像.如果他们的代码有问题,他们应该只是用来通知开发人员.我需要知道正在构建哪个分支才能运行正确的步骤.
任何帮助,将不胜感激.
我正在使用github oauth插件进行登录,但对于组织中的所有用户,我收到错误消息:
Access Denied
<user> is missing the Overall/Read permission
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一切我可能想到的尝试使这项工作,我可能会回避让每个人都成为管理员用户,我宁愿不这样做.
任何建议将不胜感激.
我正在设置Jenkins以自动化构建过程.特别是,根据我的需要,我希望能够设置不同的包标识符.
我正在使用Xcode Jenkins插件来设置包标识符:
问题是这将更改Info.plist文件和MyTarget> General> Bundle Identifier中的包标识符.但它不会更改"构建设置">"打包">"产品包标识符"中的包标识符.
如果我手动完成同样的事情.我在Xcode 7中创建了一个新项目.默认情况下,这三个值是:
当我Info.plist像这样更改文件中的值时:
另外两个值将是:
那么你如何看待Build Settings中的值并没有改变.如果我在Xcode中,我手动更改该值,但如果我在Jenkins中构建项目,则这是一个双重问题.
有谁遇到过同样的问题?你是如何解决的?
谢谢!
是否有一个插件可以让我为哈德森构建创建一个"趋势"图表,显示该项目的构建时间?
我的任务是加快构建速度,我希望在加快速度的同时展现出一个不错的趋势.
在Jenkins中,有没有办法为每个或选定的构建步骤提供不同的超时?
构建时插件提供了超时功能"如果它被卡住了就完成项目中止",我需要的是为每个步骤提供不同的超时.这样我就可以提高我的流程效率.
Jenkins有600多个插件,在真实系统中,我们习惯于安装大量插件.
有时,我们想删除一些插件以使系统更干净或用另一个成熟的插件(不同的名称)替换.
这需要确保没有人/没有工作使用这些插件或我需要通知他们.
在Jenkins系统中是否有任何配置或知道该插件是否被任何作业使用的方法?
更新2013 根据下面的答案,我维护简单的"插件:关键字"映射,如
plugin_keys = {
"git":'scm class="hudson.plugins.git.GitSCM"',
"copyartifact":"hudson.plugins.copyartifact.CopyArtifact",
# and more
}
Run Code Online (Sandbox Code Playgroud)
并从中搜索plugin关键字config.xml,可以通过jenkins远程API获取所有信息(插件,作业,配置)
这个对我有用.
更新2014.04.26 后来的jenkins版本,似乎config.xml被更改为直接有插件名称
喜欢
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.4">
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@1.7.2">
<hudson.plugins.disk__usage.DiskUsageProperty plugin="disk-usage@0.18"/>
<scm class="hudson.plugins.git.GitSCM" plugin="git@1.4.1-SNAPSHOT">
Run Code Online (Sandbox Code Playgroud)
因此,我只是检查这个plugin="<plugin name>"中config.xml,它再次工作
更新2014.05.05
请参阅gist jenkins-stats.py中的完整脚本
更新2018.6.7
有插件使用的插件支持这个(没有REST API还)
我想利用Jenkins 现有的Mailer插件来Jenkinsfile定义管道构建作业.鉴于以下简单的失败脚本,我希望每个版本都有一封电子邮件.
#!groovy
stage 'Test'
node {
try {
sh 'exit 1'
} finally {
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'me@me.com', sendToIndividuals: true])
}
}
Run Code Online (Sandbox Code Playgroud)
构建的输出是:
Started by user xxxxx
[Pipeline] stage (Test)
Entering stage Test
Proceeding
[Pipeline] node
Running on master in /var/lib/jenkins/jobs/rpk-test/workspace
[Pipeline] {
[Pipeline] sh
[workspace] Running shell script
+ exit 1
[Pipeline] step
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它确实记录了它step …
刚刚在Ubuntu 12.04中安装了Jenkins,我想创建一个只是克隆项目并构建它的简单构建.
它失败,因为它无法标记.它无法标记,因为它错误地说" 告诉我你是谁 "显然是因为我没有设置git设置UserName和UserEmail.
但是,我不需要设置它们,Jenkins将只是克隆存储库,为什么它需要凭据如果它不会推动更改,为什么它需要做一个标记呢?
完整的错误日志是:
Started by user anonymous
Checkout:workspace / /var/lib/jenkins/jobs/Foo.Bar.Baz/workspace - hudson.remoting.LocalChannel@38e609c9
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from git@mygithost.mydomain.local:foo-bar-baz/foo-bar-baz.git
Seen branch in repository origin/1.0
Seen branch in repository origin/1.5.4
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
Checking out Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
FATAL: Could not apply tag jenkins-Foo.Bar.Baz-2
hudson.plugins.git.GitException: Could not apply tag jenkins-Foo.Bar.Baz-2
at hudson.plugins.git.GitAPI.tag(GitAPI.java:737)
at hudson.plugins.git.GitSCM$4.invoke(GitSCM.java:1320)
at …Run Code Online (Sandbox Code Playgroud)