首页 > 解决方案 > 如何在 Gitlab 存储库中发生提交时触发某些脚本

问题描述

当我们的 Gitlab 存储库发生提交时,我正在寻找一种在我们的远程服务器中运行一些 python 脚本的方法。我们没有托管我们的 repo,它在 Gitlab 服务器上。欢迎任何建议。

提前致谢。

标签: gitcontinuous-integrationgitlabgitlab-cigithooks

解决方案


这可以通过将请求作为管道的一部分发送到远程服务器来解决。

例如,.gitlab-ci.yml在存储库根目录中存在的文件中:

----

stages:
  - remote

sendRemote:
  stage: remote
  script: |
    curl -X POST \
      -F token=__SOME_TOKEN__ \
      -F "ref=$CI_COMMIT_REF_NAME" \
      https://remote.server.com

这将使用 Curl 向远程服务器发出 HTTPS POST 请求。令牌的使用__SOME_TOKEN__提供了一些保证,即请求来自 Gitlab CI,而不是任何其他来源。为此目的还存在其他机制,这只是一个简单的示例。

在此示例中,还包括提交到的存储库的分支。文档中有大量其他变量的列表。


推荐阅读