【问题标题】:auto deployment of code in jenkins based on git in assemblajenkins 基于 git 在 assembla 中自动部署代码
【发布时间】:2016-05-10 08:52:26
【问题描述】:

我可以使用 git 存储库配置 jenkins。当有任何推送到 git 存储库时,我想执行自动部署。我正在使用 assembla 提供的 git 存储库。

我点击了给定的链接“https://wiki.jenkins-ci.org/display/JENKINS/Assembla+Merge+Request+Builder+Plugin”。但是我无法在 push 命令上部署代码。

我可以通过在 .git 的 hooks 文件夹中创建一个提交后文件并添加以下命令 curl "http://JENKINS_URL/jenkins/job/xxxx/build?delay=0sec" 来实现自动部署。有了这个,我可以在提交时执行自动部署。我想知道是否有更好的方法。

谢谢。

【问题讨论】:

    标签: git jenkins assembla


    【解决方案1】:

    我会在这里使用 KK 建议的方法:Polling must die: triggering Jenkins builds from a git hook

    来自 Git 插件Documentation

    为了尽量减少推送和构建之间的延迟,建议 在存储库中设置 post-receive 钩子以在 新的推动发生。为此,请在您的 hooks/post-receive 文件,在哪里 克隆此存储库时使用的完全限定 URL。

    curl http://yourserver/git/notifyCommit?url=<URL of the Git repository>[&branches=branch1[,branch2]*][&sha1=<commit ID>]
    

    【讨论】:

    • 谢谢科尔。我尝试了给定的方法,并且能够在推送时进行部署。
    • @Cole9350 我已经设置了一个外部 URL 设置为“111.111.111.111/git/notifyCommit?url=%{repository_url}&branch=%{branch}”的 webhook,并将 jenkins 作业设置为 assembla on push,但没有任何反应......你能再解释一下吗?
    • @DoronShai 请针对您遇到的问题创建一个新问题,我会看看是否可以提供帮助。最初我建议使用 http:// 作为 git url 的一部分
    【解决方案2】:

    assembla.com 有一个 webhook 工具,你可以在 Admin>Tools 下找到,你可以配置它以在每次提交时触发你的 jenkins 构建。

    或者您可以将 jenkins 配置为每 X 分钟、几小时轮询一次以运行构建

    【讨论】:

    • 感谢您的信息。但它并没有在 push 命令上执行构建。正如你提到的那样,轮询 X 分钟。这工作正常,但我实际上必须在 push 命令上执行构建。
    • 值得注意的是,这是一项付费功能。您必须升级您的帐户才能使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多