我知道这可以通过JIRA-JENKINS 插件实现。JIRA但我既不是也不是 管理用户Jenkins。因此我想知道是否可以JIRA通过作业生成发行说明jenkin而不安装任何插件JIRA或JENKINS?
我在 Jenkins 构建步骤中使用 here 标记通过 ssh 发送我的部署命令,不幸的是,即使 here 标记内的命令没有成功完成,构建也会通过:
ssh user@host <<EOF
cd /path/to/app
git pull
bower install
npm install
grunt build
cp -r /path/to/app/dist/* /path/to/dist/
forever restartall
exit
EOF
有没有更好的方法来解决这个问题?
deployment ssh automated-tests continuous-deployment jenkins
当我尝试使用 Jenkins 从 Jenkins 部署战争时,我在 Jenkins 作业日志中收到以下异常。有谁知道为什么会这样?我正在尝试部署到 tomcat 8。我使用以下配置部署器插件:
管理员用户名密码
Tomcat URL:http://hostname:9080/
ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception
java.io.IOException: Expecting Ant GLOB pattern, but saw '/var/lib/jenkins/.m2/repository/com/wcm/wcm-admin/1.0/wcm-admin-1.0.war'. See http://ant.apache.org/manual/Types/fileset.html for syntax
at hudson.FilePath.glob(FilePath.java:1734)
at hudson.FilePath.access$1700(FilePath.java:191)
at hudson.FilePath$32.invoke(FilePath.java:1715)
at hudson.FilePath$32.invoke(FilePath.java:1712)
at hudson.FilePath.act(FilePath.java:989)
at hudson.FilePath.act(FilePath.java:967)
at hudson.FilePath.list(FilePath.java:1712)
at hudson.FilePath.list(FilePath.java:1697)
at hudson.FilePath.list(FilePath.java:1683)
at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:59)
at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:761)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:721)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1037)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670)
at hudson.model.Run.execute(Run.java:1743)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Jenkins shell 上执行命令。这是这个命令:
gits pull origin my-branch
Run Code Online (Sandbox Code Playgroud)
詹金斯说我找不到命令。
‘gits’是我构建和分组许多存储库的命令。在我的本地机器上,我添加了变量环境以在 bash 上运行良好的“gits”,如下所示:
export PATH=$PATH:/home/blabla/folder_contain_gist_file_script
Run Code Online (Sandbox Code Playgroud)
当我尝试在我的终端机器上“gits”分支时它工作正常。但是在 jenkins shell 上我出错了。我认为问题来自 jenkins 上的变量环境。那么如何设置jenkins环境变量呢?
我在 Jenkins 2.5 中配置了一个多配置作业,它在我们产品的不同配置版本和不同的操作系统映像上执行测试套件。
该作业配置为在不同的操作系统节点(Windows 7、Windows 8.1、Windows 10、POS Ready 7 等)上运行。在这些操作系统中的每一个上,我们然后使用不同的配置运行测试,这些配置必须一次运行 1 个。
目前,多配置项目将在不同的计算机上按顺序运行每个测试场景。作业配置为Execute concurrent builds if necessary启用了标志,但作业不会并行运行。
使用节点设置Node Configuration http://i.stack.imgu用于不同的操作系统映像,然后使用不同配置的设置,将在同一操作系统上运行多个执行,尽管作业按顺序运行。
我希望在每个节点上同时运行一个配置,以便每个操作系统映像运行一个配置。使用 4 个操作系统和 3 个配置,有 12 个作业要运行。每个 1 小时,这是 12 小时,如果作业并行运行(每个操作系统上一个),那么 3 种不同的配置将运行,并且总共应该在大约 3 小时内完成。
理想情况下,执行将是:(Windows 7 / Config1) & (Windows 8.1 / Config1) & (Windows 10 / Config1) 全部同时运行,然后每个操作系统使用 Config2,然后每个操作系统使用 Config3。正如我所指出的,即使配置在任何操作系统上混合(config1 或 config2 或 config3),只要每个操作系统同时运行一个测试,并且每个操作系统一次只运行 1 个配置测试。
信息:在 Windows 7 上使用 Gradle 2.14 构建 JAVA 多项目。
当我在我的机器上构建时,我想在我的机器上使用库/子项目。当 Jenkins 构建项目时,他将使用我的 repo 中的库/子项目。
所以我做了一个“JenkinsTask”,它只存在于我的 IF 语句中。这已经几乎按照我想要的方式工作了。这里是我的根项目 gradle 脚本中的代码:
task JenkinsTask() {
//doing nothing
}
def ProjectB_Version //defined on command line
gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(JenkinsTask)) {
println "Archiva dependency"
dependencies {
compile group: 'Lib_ProjectB', name: 'ProjectB', version: ProjectB_Version
}
}
else {
println "Filesystem dependency"
dependencies {
compile fileTree(dir: 'ProjectB\\build\\libs', includes: ['*.jar'])
}
}
}
compileJava.dependsOn ":ProjectB:build"
Run Code Online (Sandbox Code Playgroud)
在我的机器上,我只是运行 gradle build -PProjectB_Version=0.5
在詹金斯我跑 gradle :build jenkinstask -x :ProjectB:build -PProjectB_Version=0.5
现在的问题是是否有一种“gradle”方式来做到这一点?所以我不需要 …
我正在构建一个 gradle 项目,源代码在 git 中。在将我们的 repo 检查到 jenkins 的工作区之后,我如何让 jenkins 转到子目录并进行构建?
我尝试添加 shell 命令,但 cd 不起作用,因为它在单独的 shell 上执行脚本。
我在 C# 中使用 Selenium 来创建我的自动化测试。现在我必须使用某种报告工具来保存测试用例是否通过,失败......等。
我见过很多工具,比如 Allure 和 Jenkins。但它们需要一个 XML 文件。我在使用 Visual 2013 运行测试时找不到它。这是为什么?
如果我遗漏了什么,如何详细获取这些 XML 文件?
有什么办法可以以最少的努力实现这一目标吗?
编辑: 如何使用 Nunit 控制台运行程序运行我的测试?我在哪里可以找到它?我下载了 nunit 的 .zip,但我找不到跑步者?
我想在启动服务器的 Jenkins 上工作(WireMock 上的 MockServer)。
服务器从 *.jar 文件启动,从终端启动。
java -jar serverLaunch.jar
Run Code Online (Sandbox Code Playgroud)
它接管了我的控制台。为了避免这种情况,我修改了它并执行以下操作:
java -jar serverLaunch.jar &>/dev/null &
Run Code Online (Sandbox Code Playgroud)
这在我的本地 PC 上对我有用。现在我想把它移到詹金斯。
如果我尝试从 Jenkins Job 中的“Shell 命令”块执行此操作,则:
一种) java -jar serverLaunch.jar
b) java -jar serverLaunch.jar &>/dev/null &
我也在 .sh 脚本和 .rb 脚本中包装了这个命令。知道如何使它工作吗?
我试过这个:https : //wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build
然后在詹金斯的“Shell 脚本”中:
daemonize -E BUILD_ID=dontKillMe /bin/bash launch.sh
Run Code Online (Sandbox Code Playgroud)
但它也通过了,但服务器不活跃。
标题所说的几乎就是正在发生的事情。
我们的 Jenkins-Slack 集成已正确设置,以便在 Jenkins 构建运行时(成功或失败时)向我们的 Slack 频道发送更新消息
预期:http://[URLADDRESS]/job/[ProjectName]
实际:http://[WRONGURL]/job/[ProjectName]
关于为什么会这样的任何线索?