问题标签 [post-commit-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3482 浏览

svn - 如何通过 Subversion 提交后挂钩启动 Jenkins 构建?(本地主机,在 Windows 中)

我在我的 Windows 7 本地主机上安装了 Jenkins 和 Subversion。他们独立工作很好。

我安装了 Jenkins 的 Subversion 插件。从这个页面https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin#SubversionPlugin-Windowsspecificpostcommithook我有 post-commit.bat 和描述的 vbs 脚本。

此视觉基本代码失败:

出现此错误:

javax.servlet.ServletException: 必须是 POST,不能在 hudson.model.AbstractModelObject.requirePOST(AbstractModelObject.java:88) 获取

我认为这段代码正在获取 CSRF 保护令牌,但失败了。

https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API说:

为了简单起见,我没有打开 CSRF 保护,尽管我知道我应该这样做。

*我删除了 .vbs 脚本文件的 GET 部分,所以现在它只调用 POST 部分,并且根本不引用 crumb 变量或更改请求标头,但我仍然得到“必须是 POST,可以'不是 GET" 错误。

是什么赋予了?

0 投票
1 回答
1120 浏览

svn - SVN 乌龟中的 postcommit.bat 脚本挂钩

我有以下提交完成时执行的提交后挂钩:

我正在尝试使用以下 powershell 脚本通过电子邮件发送存储库链接、修订号和事务。

提交更改后,我看不到任何错误消息,也不会收到任何电子邮件。我想问题出在通过命令行调用 powershell 脚本时。如果有人能建议如何在邮件中添加作者的名字,那也很棒。

提前致谢。

0 投票
1 回答
1538 浏览

svn - SVNLOOK 在 postcommit 钩子中更改 - 批处理文件

我无法打印更改列表。每次我运行脚本并检查值时,它都是空白的。

我知道我在调用更改函数的循环中某处犯了错误。我如何能够获取已更改目录的列表并将其传递给邮件脚本?

提前致谢

0 投票
1 回答
360 浏览

git - 在服务器上执行 git pull 时触发指南针编译

我雇主的部分做法是避免在项目存储库中包含 css 文件。由于过去以 CSS 为中心的合并冲突问题,决定只推送 SASS 文件更改,并根据需要重新编译样式表。我们在内部使用 Compass 将 SASS 编译为 CSS。

我想做的是compass compile在成功的git pull事件上执行一次。使用别名似乎很容易做到这一点git pull,但也存在 git 钩子。最后,第三种选择是compass watch作为无限进程运行。

最后一个似乎是资源浪费,因为生产服务器最多每周更新一次。那么在compass compile成功 git pull 之后执行事件的最佳实践是什么?如何完成?

0 投票
1 回答
101 浏览

svn - 在提交后挂钩中区分移动、重命名和正常的添加/删除操作

我需要配置一个提交后挂钩,它将在电子邮件中将重命名操作标识为重命名。

问题是我们能够将它们识别为删除和添加操作,但我们需要将其作为单个重命名操作。

移动操作也是如此,它在内部被视为复制/删除操作。

任何可以为此目的利用 svn 属性的帮助将不胜感激。

0 投票
1 回答
1388 浏览

svn - Svn Commit 无限期挂起。如何解决此问题

我执行了以下步骤来实现 svn 中的自动镜像过程(将 master 提交到 slave):

  1. 首先,我运行svnsync init命令来初始化主存储库和从存储库

  2. 现在我在hooks 目录内的主端和从端创建了post-commit.bat 和。post-revprop-change.batprev-revprop-change.bat

  3. 现在,在使用 eclipse 从主端提交我的更改时,提交会挂起无限长的时间而没有任何成功。

  4. 我正在运行的命令post-commit.batpost-revprop-change.bat

    svnsync sync https://TestPcWin8pro.rcik3.domain.local/svn/testrcirepo/

    svnsync copy-revprops https://TestPcWin8pro.rcik3.domain.local/svn/testrcirepo/

请检查命令并提出从 Eclipse 提交时提交挂起的原因(使用 Subclipse 插件)。

0 投票
1 回答
2026 浏览

svn - 带有身份验证的 Jenkins Subversion 提交后挂钩 - 仍然需要匿名作业读取吗?

我们在许多项目构建中使用 Subversion 1.8.8 和 Jenkins 1.509.4(带有 Subversion v2.3 插件)。公司政策需要身份验证,因此在 Jenkins 中,我们使用 LDAP 安全领域,以及基于项目的安全矩阵,用于用户全局和项目授权。我们的 SVN post-commit hook 使用专门为此场合创建的 LDAP 服务帐户与 Jenkins 对话。在实现这一点时,我意识到为了让钩子真正触发作业,即使发送了有效的用户名/密码,在安全页面上将该帐户列为对 Jenkins 具有完全访问权限也是不够的;仍然需要匿名作业读取访问权限。还注意到服务帐户根本不需要任何显式访问。对于有问题的作业,启用轮询。

这种配置的副作用是 Jenkins 的有效用户可以看到服务器上的每个作业。这是一个问题,因为这为用户提供了 200 多个工作,而大多数用户只关心其中的一小部分。

是否有配置允许对提交后挂钩进行身份验证,而不在 Jenkins 中启用任何匿名访问?

作为参考,我们的提交后挂钩如下所示:

在上述配置中,我能够在 Jenkins 日志中找到此信息:

2014 年 5 月 27 日下午 3:36:12 信息 org.springframework.web.context.support.StaticWebApplicationContext prepareRefresh 刷新

org.springframework.web.context.support.StaticWebApplicationContext@25e3951:显示名称[Root WebApplicationContext];启动日期 [2014 年 5 月 27 日星期二 15:36:12 EDT];上下文层次的根

2014 年 5 月 27 日下午 3:36:12 信息 org.springframework.web.context.support.StaticWebApplicationContext 获得FreshBeanFactory

应用程序上下文的 Bean 工厂 [org.springframework.web.context.support.StaticWebApplicationContext@25e3951]:org.springframework.beans.factory.support.DefaultListableBeanFactory@9466053

2014 年 5 月 27 日下午 3:36:12 信息 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons

在 org.springframework.beans.factory.support.DefaultListableBeanFactory@9466053 中预实例化单例:定义 bean [filter,legacy];工厂层次结构的根

2014 年 5 月 27 日下午 3:36:30 警告 hudson.scm.SubversionRepositoryStatus$JobTriggerListenerImpl onNotify

找不到颠覆工作

2014 年 5 月 27 日下午 3:36:30 信息 jenkins.scm.impl.subversion.SubversionSCMSource$ListenerImpl onNotify

收到来自 47272b4f-b969-45fb-85a3-5cc10733bede 的提交后挂钩,用于路径上的修订版 1,995 [mdeneul/TIJ4/branches/1.1-SNAPSHOT/pom.xml]

2014 年 5 月 27 日下午 3:36:30 信息 jenkins.scm.impl.subversion.SubversionSCMSource$ListenerImpl onNotify

UUID 47272b4f-b969-45fb-85a3-5cc10733bede 没有颠覆消费者

2014 年 5 月 27 日下午 3:36:30 警告 hudson.scm.SubversionRepositoryStatus doNotifyCommit

没有兴趣更改存储库 UUID 47272b4f-b969-45fb-85a3-5cc10733bede 发现

0 投票
3 回答
13718 浏览

svn - svn: E155007: 路径 '../.. 不是目录

在提交后挂钩中,我们使用颠覆命令行工具(svn.exe)以正确的大小写重命名文件名,有时它会因以下错误而失败,

有任何想法吗 ?

0 投票
1 回答
125 浏览

svn - 如何在 Plesk 11 服务器上为 svn+ssh 隧道用户创建 SVN Hook 提交后提交?

在我的 Plesk 11 服务器上,我创建了一个子域:sub.domain.tld

我为所有用户创建了一个 svn+ssh 隧道。通过此隧道提交的所有用户。

现在我想创建 SVN Hook 以便每个提交都应该直接更新到sub.domain.tld

我正在使用本教程,但我总是得到/bin/sh: /var/.../hooks/post-commit: Permission denied

我猜是因为域和子域是从 Plesk 本身创建的。

如何使我的 subversion 能够提交到 Plesk 创建的目录中?

0 投票
1 回答
204 浏览

git - 使用带有 grunt-git 和 grunt-githooks 的子模块的提交后钩子提交 Git“超级模块”

我有一个包含许多子模块的 git repo。当我在子模块中提交时,我有一个应该在“超级模块”中提交的 git 钩子。不幸的是,提交后挂钩中的提交失败,因为“超级模块”似乎无法检测到其子模块中的更改。

有没有其他方法可以实现这种行为?

grunt-githooks我通过 Grunt 使用and设置了所有这些grunt-git

下面是我的 gruntfile: