基于 git in assembla 在 jenkins 中自动部署代码

auto deployment of code in jenkins based on git in assembla

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

我遵循了给定的link“https://wiki.jenkins-ci.org/display/JENKINS/Assembla+Merge+Request+Builder+Plugin”。但是我无法在推送命令上部署代码。

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

谢谢。

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

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

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

来自 Git 插件 Documentation :

To minimize the delay between a push and a build, it is recommended to set up the post-receive hook in the repository to poke Jenkins when a new push occurs. To do this, add the following line in your hooks/post-receive file, where is the fully qualified URL you use when cloning this repository.

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