我想在发布职位电子邮件中显示触发Jenkins工作的用户.这可以通过使用插件Build User Vars Plugin和env变量来实现BUILD_USER.但是,当调度程序触发作业时,此变量不会被初始化.
我们怎样才能做到这一点?我知道我们有一个名为EnvInject插件的插件,可以使用...
但我只是想知道我们如何使用它并实现解决方案......
背景:
我们使用NAnt作为我们的构建工具.
题:
如何告诉Hudson在SVN中构建特定的修订版,而不是默认的最新修订版?
谢谢.
在Jenkins中查看项目时,我希望看到项目页面上显示的最后一个控制台输出.
这满足了两个需求:
我找过支持这个但却找不到的插件.
我有什么选择?
IMO,这个用例确实需要在插件的网页/文档中明确说明.
假设我有一个名为U的项目用于上游,D项目用于下游.当U完成构建时,我希望D签出与刚刚构建的相同的版本.你总是会结账HEAD.
这就是我所做的:
现在我不知道接下来应该做什么,但我没有得到反馈表明这是有效的.事实上,即使是这个致力于插件源的测试用例也表明这是我应该做的.
但是,如果我猜测,我认为我应该将U标记为参数化构建并向其添加参数.这个参数应该被命名为U发送给D的东西.但是,如果我有正确的想法,我不知道我应该命名这个参数.D的控制台日志和U的控制台日志都没有提到任何新参数.
我猜了一下,在U中创建了一个名为"SVN_REVISION"的String参数,并将其默认为-1,但这没有任何效果.每次D触发构建时,SVN_REVISION默认为-1.
这是在exportD项目上运行的输出:
+ export
export BUILD_ID="2013-03-20_09-48-32"
export BUILD_NUMBER="4522"
export BUILD_TAG="jenkins-D-4522"
export BUILD_URL="http://my.jenkins.server.com:8081/job/D/4522/"
export EXECUTOR_NUMBER="2"
export HUDSON_COOKIE="8ec52f7a-d60d-4640-83a9-dbed7351b32a"
export HUDSON_HOME="/opt/hudson"
export HUDSON_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export HUDSON_URL="http://my.jenkins.server.com:8081/"
export JAVA_HOME="/opt/java"
export JENKINS_HOME="/opt/hudson"
export JENKINS_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export JENKINS_URL="http://my.jenkins.server.com:8081/"
export JOB_NAME="D"
export JOB_URL="http://my.jenkins.server.com:8081/job/D/"
export LANG="en_US.UTF-8"
export LD_LIBRARY_PATH="/opt/jdk1.6.0_30/jre/lib/i386/server:/opt/jdk1.6.0_30/jre/lib/i386:/opt/jdk1.6.0_30/jre/../lib/i386"
export M2="/opt/maven/bin"
export M2_HOME="/opt/maven"
export MAVEN_OPTS="-Xms256m -Xmx512m"
export NHINC_PROPERTIES_DIR="/opt/nhinc/Properties"
export NLSPATH="/usr/dt/lib/nls/msg/%L/%N.cat"
export NODE_LABELS="master"
export NODE_NAME="master"
export OLDPWD
export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/opt/java/bin:/opt/apache-ant-1.8.1/bin:/usr/local/bin:/opt/maven/bin"
export PWD="/opt/hudson/jobs/D/workspace"
export SHLVL="2"
export SVN_REVISION="24186"
export SVN_URL="https://a/url/trunk" …Run Code Online (Sandbox Code Playgroud) 我在我的机器上安装了Jenkins版本1.480.3和Email-Extension插件2.28.
我已经在Jenkins上配置了我的工作,除了最终的构建成功电子邮件之外,一切正常.
我为Email-Extension插件配置了四个触发器:
对于所有触发器,我已启用"附加日志",除"成功"外,所有工作正常.
我在屏幕上看到以下消息:
触发电子邮件:成功
发送触发器的电子邮件:成功
请求压缩构建日志
发送电子邮件至:abc@example.com def@example.com
发送到以下VALID地址时出错:abc@example.com def@example.com
通知上游项目完成工作
捕获构建上下文信息.
完成:成功
请有人帮助我,因为我真的不知道如何解决这个问题.
我在Windows Server 2008 R2上安装了Jenkins v1.550.它暂时作为服务运行http://localhost:8080.我以管理员身份登录计算机.我已经安装了Node.js,可以从命令行运行"npm".
我还为Jenkins安装了NodeJS插件v0.2.1.然后我进入Jenkins的Configure System部分,向下滚动到NodeJS安装,单击Add NodeJS按钮,将"NodeJS"作为名称,并将"C:\ Program Files \nodejs"作为安装目录的路径.我没有检查"自动安装"选项,因为我在插件页面上看到它只适用于Linux.
然后我创建了一个新工作,单击了"将节点和npm bin /文件夹提供给PATH"的复选框,为"执行Windows批处理命令"创建了一个新的构建步骤,并输入"node --version"和"grunt - 版本"并保存.
我跑了工作,这是输出 -
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test_1.0
[Test_1.0] $ cmd /c call C:\Windows\TEMP\hudson1381541243088903083.bat
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>node --version
v0.10.24
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>grunt --version
'grunt' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\Jenkins\workspace\Test_1.0>exit 9009
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)
看起来它无法找到Jenkins在(System)下运行的用户帐户的grunt-cli.我试图安装grunt cli global(npm install -g grunt-cli …
是否有可能的方法/插件可以在Jenkins作业中止时运行后期构建脚本.我确实看到post build插件提供了一个执行一组脚本的操作,但这些脚本只能在成功作业或失败作业的2个选项上运行.
我正在使用Jenkins PowerShell插件来构建项目.
但是,我发现Jenkins总是认为我的构建成功,无论我在Windows PowerShell命令内输入什么.
这是一个例子:
如您所见,asdf这不是一个合法的命令.詹金斯应该FAILURE在构建之后给我.
但控制台输出给了我:
Started by user admin
Building in workspace C:\Users\Administrator\.jenkins\jobs\Test\workspace
[workspace] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Users\ADMINI~1\AppData\Local\Temp\hudson2092642221832331776.ps1'"
The term 'asdf' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\ADMINI~1\AppData\Local\Temp\hudson2092642221832331776.ps1:1 char:5
+ asdf <<<<
+ CategoryInfo : ObjectNotFound: (asdf:String) [], …Run Code Online (Sandbox Code Playgroud) 我的Jenkins盒子需要通过他们的REST apis访问Stash和Jira.为此,我需要存储他们的凭据.
我正在做的方式是通过凭据参数,它要求我输入名称,凭据类型,必需,默认值和描述.
我将名称定义为CREDENTIAL_PARAMETER,在类型I中将其设置为"带密码的用户名",然后从默认值的列表中选择一个凭证.
接下来在Build部分中我定义了一个shell应该被执行,就像这样
echo $CREDENTIAL_PARAMETER
Run Code Online (Sandbox Code Playgroud)
我期待获得像"用户名:密码"这样的东西作为CREDENTIAL_PARAMETER.但是,我得到一个哈希,我认为是如何检索用户名和密码.
如何使用bash基于哈希获取凭据?
目前我们使用Jenkins作为我们的CI系统,并且有一个主服务器和从服务器由Saltstack在Openstack上提供.如果我们的Jenkins主服务器出现故障,我们需要创建一个新的主服务器,我们需要从旧主服务器中提取文件并将其放入新主服务器中,但这需要至少30分钟.
有没有办法设置Jenkins的高可用性?
我已经检查过Gearman Plugin,但是如果Gearman服务器由于某种原因出现故障,我们还需要为Gearman设置一个HA.
有没有其他方法可以为Jenkins设置高可用性?
linux continuous-integration high-availability jenkins jenkins-plugins
jenkins ×10
jenkins-plugins ×10
grunt-cli ×1
gruntjs ×1
hudson ×1
linux ×1
node.js ×1
post-build ×1
powershell ×1
svn ×1