Jenkins - 推送部署测试步骤失败
Jenkins - push to deploy test step fails
我正在按照 Push to deploy 上的说明使用 Jenkins 测试和部署用 python 和 Flask 编写的 Google App Engine 应用程序。
测试位于应用程序的根文件夹中名为 tests.py
的文件中
执行shell步骤中的命令是
nosetests tests.py
我收到以下错误,我不确定如何解决这个问题,因为我对 Jenkins 还很陌生。
Started by user User Name
Building remotely on cloud-dev-php in workspace /var/jenkins/workspace/CFC Melbourne production pipeline
> 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/cfc-melbourne-website/ # timeout=10
Fetching upstream changes from https://source.developers.google.com/p/cfc-melbourne-website/
> git --version # timeout=10
using .gitcredentials to set credentials
> git config --local credential.helper store --file=/tmp/git7069316934747655973.credentials # timeout=10
> git -c core.askpass=true fetch --tags --progress https://source.developers.google.com/p/cfc-melbourne-website/ +refs/heads/*:refs/remotes/origin/*
> git config --local --remove-section credential # timeout=10
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 3a8caffa38303b3ae4741aac83e6ac807077b5be (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 3a8caffa38303b3ae4741aac83e6ac807077b5be
> git rev-list 3a8caffa38303b3ae4741aac83e6ac807077b5be # timeout=10
[CFC Melbourne production pipeline] $ /bin/sh -xe /tmp/hudson3364335209750264714.sh
+ nosetests tests.py
/tmp/hudson3364335209750264714.sh: 2: /tmp/hudson3364335209750264714.sh: nosetests: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
这不是真正的 Jenkins 问题 — 正如构建输出所示,您的 shell 脚本失败是因为它找不到 nosetests
可执行文件:
nosetests: not found
您确定 nose
is installed 在 cloud-dev-php
Jenkins 构建机器上吗?
如果您使用的是一键部署映像,据说它应该 already be installed — 但由于您的构建是 运行 PHP 构建机器而不是 Python 机器,也许情况并非如此。
您应该仔细检查您是否遵循了 instructions 以确保您的 Python Jenkins 作业在 Python 构建机器上运行。
如果 是 安装的,也许它不是默认的 PATH
,在这种情况下,您可以将 nosetests
的用法更改为 [=16] =](或任何路径)。
我正在按照 Push to deploy 上的说明使用 Jenkins 测试和部署用 python 和 Flask 编写的 Google App Engine 应用程序。
测试位于应用程序的根文件夹中名为 tests.py
执行shell步骤中的命令是
nosetests tests.py
我收到以下错误,我不确定如何解决这个问题,因为我对 Jenkins 还很陌生。
Started by user User Name
Building remotely on cloud-dev-php in workspace /var/jenkins/workspace/CFC Melbourne production pipeline
> 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/cfc-melbourne-website/ # timeout=10
Fetching upstream changes from https://source.developers.google.com/p/cfc-melbourne-website/
> git --version # timeout=10
using .gitcredentials to set credentials
> git config --local credential.helper store --file=/tmp/git7069316934747655973.credentials # timeout=10
> git -c core.askpass=true fetch --tags --progress https://source.developers.google.com/p/cfc-melbourne-website/ +refs/heads/*:refs/remotes/origin/*
> git config --local --remove-section credential # timeout=10
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 3a8caffa38303b3ae4741aac83e6ac807077b5be (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 3a8caffa38303b3ae4741aac83e6ac807077b5be
> git rev-list 3a8caffa38303b3ae4741aac83e6ac807077b5be # timeout=10
[CFC Melbourne production pipeline] $ /bin/sh -xe /tmp/hudson3364335209750264714.sh
+ nosetests tests.py
/tmp/hudson3364335209750264714.sh: 2: /tmp/hudson3364335209750264714.sh: nosetests: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE
这不是真正的 Jenkins 问题 — 正如构建输出所示,您的 shell 脚本失败是因为它找不到 nosetests
可执行文件:
nosetests: not found
您确定 nose
is installed 在 cloud-dev-php
Jenkins 构建机器上吗?
如果您使用的是一键部署映像,据说它应该 already be installed — 但由于您的构建是 运行 PHP 构建机器而不是 Python 机器,也许情况并非如此。
您应该仔细检查您是否遵循了 instructions 以确保您的 Python Jenkins 作业在 Python 构建机器上运行。
如果 是 安装的,也许它不是默认的 PATH
,在这种情况下,您可以将 nosetests
的用法更改为 [=16] =](或任何路径)。