gpt4 book ai didi

svn - SVN post-commit 和 Jenkins 的问题

转载 作者:行者123 更新时间:2023-12-04 07:06:40 24 4
gpt4 key购买 nike

我正在努力让 CI 与 Jenkins 合作。迄今为止,我们一直在我们的环境中执行两个预定的构建,但我们的开发人员希望让 CI 工作。我已按照 Jenkins Subversion 插件 wiki 页面中概述的说明进行操作:

https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin

这让我得到了一个在命令行执行的脚本就好了,但是当我在 Subversion 中提交更改(使用 TortoiseSVN 客户端)时,提交似乎挂起,我没有看到 Jenkins 收到通知。

这是我的脚本:

#!/bin/sh

REPOS="$1"
REV="$2"
UUID=`svnlook uuid $REPOS`
XSLT_FILE=/var/www/svn/codelog.xslt
RSS_FILE=/var/www/html/code_all.rss
MAX_RESULTS=40

/usr/bin/wget \
--auth-no-challenge \
--no-check-certificate \
--header "Content-Type:text/plain;charset=UTF-8" \
--post-data "`svnlook changed --revision $REV $REPOS`" \
--output-document "-" \
--timeout=2 \
https://192.168.100.16/subversion/${UUID}/notifyCommit?rev=$REV
svn log "file://$REPOS" --limit "$MAX_RESULTS" -v --xml | xsltproc "$XSLT_FILE" - > "$RSS_FILE"

RSS 提要已经在脚本中。这已经工作了一年多。

我也更新了文件权限,以防出现问题:
[root@Subversion hooks]# ls post-commit -ao
-rwxrwxr-x 1 apache 530 Jul 17 06:27 post-commit

最佳答案

我从不喜欢 SVN 插件页面的编写方式。很容易读到它说你需要在 SVN 中设置一个 Post Commit Hook 来使事情工作。你不要!

我们的 Jenkins 机器上有大约 10 个构建。它们都链接到 SVN 存储库,并且都由 SVN 存储库中的更改触发。他们都不依赖于在 SVN 中使用 Post Commit Hook。

为此,我们已将构建配置为按计划简单地“轮询 SCM”。 “提交”构建使用“*/5 * * * *”时间表。这将每 5 分钟轮询一次。我们的“每日”构建使用“1 1 * * *”的时间表,因此如果有任何更改,构建将在凌晨 1:01 开始。

关于svn - SVN post-commit 和 Jenkins 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com