git - 如何在 Gitlab 存储库中发生提交时触发某些脚本
问题描述
当我们的 Gitlab 存储库发生提交时,我正在寻找一种在我们的远程服务器中运行一些 python 脚本的方法。我们没有托管我们的 repo,它在 Gitlab 服务器上。欢迎任何建议。
提前致谢。
解决方案
这可以通过将请求作为管道的一部分发送到远程服务器来解决。
例如,.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,而不是任何其他来源。为此目的还存在其他机制,这只是一个简单的示例。
在此示例中,还包括提交到的存储库的分支。文档中有大量其他变量的列表。
推荐阅读
- php - 有条件的,基于另一个模型的价值
- reactjs - 如果我将 getRequestHandler 与 Express Js 应用程序一起使用,Next.Js app.render() 不起作用
- apache-spark - 更改了 spark-sql 中的前 N 个值
- python - 如何将 K.tile 的值设置为 -1 以匹配 Keras 中的各种输入?
- kubernetes - 在自定义 helm 图表中禁用子图表
- vuejs2 - 如何使用 isVerified()
- python - 批处理脚本未完全运行(但以前可以运行) - 如何查看错误?
- reactjs - 我可以在我的网站上的两个不同路径上托管相同的 React 应用程序吗?
- java - 当我在平板电脑上运行应用程序时,Android Studio 中的按钮看起来很乱
- c# - 如何在可观察到的“时间后重置”中修复竞争条件?