相关疑难解决方法(0)

如果执行shell失败,请不要失败jenkins build

作为构建过程的一部分,我正在运行git commit作为执行shell步骤.但是,如果工作区中没有更改,Jenkins将无法进行构建.这是因为当没有提交更改时,git返回错误代码.我想要中止构建,或者只是在这种情况下将其标记为不稳定.有任何想法吗?

jenkins

110
推荐指数
11
解决办法
14万
查看次数

部署到Google App Engine

我正在努力使用Google App Engine.我想做的就是:

我正在按照教程的确切步骤进行操作.我现在已经尝了好几次了.该应用程序在Jenkins中构建良好(我设法让它运行),但部署失败.

+ gcloud --project=MyProject preview app deploy target/guestbook-1.0-SNAPSHOT.war
ERROR: File [/var/jenkins/workspace/MyProject/target/guestbook-1.0-SNAPSHOT.war] is not a valid deployable item.
ERROR: (gcloud.preview.app.deploy) Errors occurred while parsing the App Engine app configuration: 
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

它在本地开发Web服务器上运行良好.MyProject是项目ID(我刚刚为示例更改了它).我究竟做错了什么.我的意思是我忘了做某事吗?我已经做了五年多的Java了,我无法理解为什么做这么基本的事情应该这么难.请帮我

来自詹金斯:

Started by user User Name
Building remotely on cloud-dev-java in workspace /var/jenkins/workspace/MyGuestbook
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://source.developers.google.com/p/MyProject # timeout=10 …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine

9
推荐指数
1
解决办法
3831
查看次数

在Google Test执行后,Jenkins Build Script退出

我正在通过Jenkins构建一个Qt GUI应用程序.我添加了3个构建步骤:

  • 构建测试可执行文件
  • 运行测试可执行文件
  • 使用gcovr编译覆盖率报告

出于某种原因,运行测试可执行文件的shell任务在执行后停止.即使是简单的echo也不会追求.测试使用Google Test编写并输出xUnit XML文件,这些文件在构建后进行分析.一些测试启动了应用程序用户界面,因此我安装了jenkins xvnc插件以使它们运行.

构建任务如下:

建立

cd $WORKSPACE/projectfiles/QMake
sh createbin.sh
Run Code Online (Sandbox Code Playgroud)

测试

cd $WORKSPACE/bin
./Application --gtest_output=xml
Run Code Online (Sandbox Code Playgroud)

覆盖率报告

cd $WORKSPACE/projectfiles/QMake/out
gcovr -x -o coverage.xml
Run Code Online (Sandbox Code Playgroud)

现在,echo正确打印第一个构建任务echo的末尾,但是在第二个构建任务的末尾则没有.因此,即使Google Test输出可见,第三个构建任务也不会运行.我想也许问题是某些Google测试失败了,但是为什么脚本会因为测试失败而停止执行?

也许有人可以给我一个暗示第二个任务停止的原因.

编辑

控制台输出如下所示:

Updating svn://repo/ to revision '2012-11-15T06:43:15.228 -0800'
At revision 2053
no change for svn://repo/ since the previous build
Starting xvnc
[VG5] $ vncserver :10

New 'ubuntu:10 (jenkins)' desktop is ubuntu:10

Starting applications specified in /var/lib/jenkins/.vnc/xstartup
Log file is /var/lib/jenkins/.vnc/ubuntu:10.log

[VG5] $ /bin/sh -xe …
Run Code Online (Sandbox Code Playgroud)

qt googletest jenkins

7
推荐指数
1
解决办法
9697
查看次数

构建步骤“Windows PowerShell”将构建标记为失败,为什么?

下面是在 Jenkins 中运行的三个 PowerShell 命令和构建结果。为什么会失败?哪个命令可能失败?我读过这篇文章:Execute Shell 如何/何时将 Jenkins 中的构建标记为失败?,却想不通。我不熟悉 MS 的东西。

命令 1:

& "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.com" "$env:WORKSPACE\ETL\OnePnL.sln" /Build
Run Code Online (Sandbox Code Playgroud)

命令 2:

###########################
# Deploy SSIS package           #
###########################  
$csource ="$env:WORKSPACE\ETL\Project Type 0\bin\DEFAULT\OnePnL.ispac"
$cserver = "SSASDBDEV01"
$cdest = "/SSISDB/OnePnL/OnePnL"    
echo $env:GIT_BRANCH    
if ($env:GIT_BRANCH  -like '*master*')
{
   # Call IS Deployment Wizard
   echo "Deploying SSIS package to $cdest on $cserver"    
   # "C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\ISDeploymentWizard.exe" "/Silent /SourcePath:""$csource""    #/DestinationPath:""$cdest"" /DestinationServer:""$cserver""" -Wait
   Start-Process "C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\ISDeploymentWizard.exe" …
Run Code Online (Sandbox Code Playgroud)

powershell jenkins

5
推荐指数
1
解决办法
4793
查看次数

当 python 脚本中的任何内容失败时,在 Jenkins 中触发失败

我有一个 python 脚本在 Jenkins 的构建阶段运行,位于执行 shell 区域。

问题是,如果脚本失败,我仍然认为构建成功。我确实检查过,python 使用了类似于 shell 命令返回代码的东西(用 $ 调用的那个?),尽管我不知道在哪里放置调用以在 python 脚本中触发“任何”失败返回代码

import sys

..... code here

....functions

sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)

我需要返回 sys.exit(-1),但是你把它放在 python 代码中的哪里?到目前为止,我只能使用 try 块来处理它,并且在异常部分我放置了 sys.exit(-1),但这添加了大量代码,因为我在脚本中有很多函数。

是否有一个我可以使用的全局位置来触发故障,以便 Jenkins 作业失败?

python jenkins

4
推荐指数
1
解决办法
1万
查看次数

通过Jenkins在shell中执行“ pkill”-构建失败

我正在通过Jenkins在Linux Shell上执行pkill命令。当进程不存在时,此命令将始终使构建失败。

sudo docker exec mycontainer sh -c 'pkill -f processToKill || true '
Run Code Online (Sandbox Code Playgroud)

为什么?即使pkill失败,如何使它成功?

linux shell jenkins

2
推荐指数
1
解决办法
1326
查看次数

标签 统计

jenkins ×5

google-app-engine ×1

googletest ×1

java ×1

linux ×1

powershell ×1

python ×1

qt ×1

shell ×1