我花了整整一天时间浏览了十年来的SO questions,论坛帖子以及Jenkins Subversion插件wiki和documentation。
我要回答的问题:
我无法回答的问题:
wget
与curl
的利弊是什么?REV
参数有什么作用?使用Jenkins 2.164.3和Subversion 1.9.7,每个版本都在其自己的Ubuntu Server 18.04上进行设置,每个版本都在其自己的Apache HTTP Server(具有用于HTTPS的LetsEncrypt SSL证书)之后。
答案 0 :(得分:0)
这是为我工作的最小的svn提交后钩子:
if object
注意:
#!/bin/sh
REPO="$1"
REV="$2"
UUID="$(/usr/bin/svnlook uuid ${REPO})"
CHANGED="$(/usr/bin/svnlook changed -r ${REV} ${REPO})"
SERVER_URL="https://<redacted>/jenkins"
USER="<redacted>"
API_TOKEN="<redacted>" # not the password
/usr/bin/curl -X POST -s -u "${USER}:${API_TOKEN}" -d "${CHANGED}" ${SERVER_URL}/subversion/${UUID}/notifyCommit
seems to be enough(不需要面包屑)。USER:API_TOKEN
标头似乎很好Content-Type
似乎很好(有什么区别?)具有(8,706)和不具有(-1)rev参数的詹金斯日志输出:
?rev=${REV}
作业配置: