2

我正在尝试使用提交后脚本远程调用 Jenkins 作业。我目前正在通过 Eclipse Kepler/Subversive/SVNKit 连接器提交代码。

提交后脚本:

if svnlook dirs-changed -r "$REV" "$REPOS" | grep -qEe '^trunk/'; then
  wget --post-data="job=APS-RemoteServerAction&token=SECRET&ACTION=deploy&ASSET_NAME=POST-COMMIT-TEST&DEPLOY_ENV=DEV&REVISION=$REV" "http://my.domain.com:8080/buildByToken/buildWithParameters"
fi

通过 Eclipse 的错误截图:

在此处输入图像描述

重要笔记:

  • 代码确实正确提交,存储库浏览器指示新版本
  • 这项工作在 Jenkins 上运行,历史表明
  • 每次我提交时,我都会收到此错误消息
  • 我尝试添加 flag --quiet,但我得到了相同的退出代码。

我认为这是由于 wget 并发布了值?

编辑#1

我想指出我正在使用 Jenkins Build Authorization Token Root Plugin。由于最终转到 https 并将令牌保留在 URL 之外,我切换到了 POST 而不是 GET(有效)。

4

2 回答 2

1

我将错误消息解释为 wget 无法在其当前目录中写入名称为buildWithParameters的文件。用于wget -O -将输出写入标准输出。

于 2013-09-12T20:20:53.187 回答
0

错误是(我认为)因为它试图将网页下载到本地目录。您只需要 ping 端点来构建 jenkins,所以我使用了 --spider(不下载)、--no-proxy(我有时会收到缓存的响应)和 -q(不输出,因为 svn会报告)。

wget --post-data="job=APS-RemoteServerAction&token=SECRET&ACTION=deploy&ASSET_NAME=POST-COMMIT-TEST&DEPLOY_ENV=DEV&REVISION=$REV" "http://my.domain.com:8080/buildByToken/buildWithParameters" --spider --no-proxy -q

于 2020-08-03T22:31:51.560 回答