是否可以在应用程序服务器上设置 git 客户端以自动进行版本控制并将配置文件推送到 Azure Repo?

Posted

技术标签:

【中文标题】是否可以在应用程序服务器上设置 git 客户端以自动进行版本控制并将配置文件推送到 Azure Repo?【英文标题】:Is it possible to set up a git client on an application server to automatically version control and push configuration files to an Azure Repo? 【发布时间】:2020-09-06 01:06:38 【问题描述】:

我们有一个机器学习和分析平台,允许用户构建和组合数据管道、单/多变量分析和导入的 python 模型。这些存储为配置文件,可以导出为 json 或文本。与其强制用户手动导出文件并上传/提交到远程仓库,是否可以在托管应用程序和配置文件的服务器上安装 git 客户端以自动上传/提交更新的文件到远程仓库?

【问题讨论】:

嗨,您有机会查看以下解决方法吗?效果如何? 【参考方案1】:

可以自动提交文件更改并将其推送到远程仓库。

如果应用程序托管在 linux 服务器上,您可以使用inotifywait。您可能需要 personal access token 才能推送到 azure repo。

inotifywait -q -m -e CLOSE_WRITE --format="git commit -m 'auto commit' %w && git push https://PersonalAccessToken@dev.azure.com/path/to/azurerepo --all" <<file>> | bash

对于windows系统,您可以编写一个包含git命令的批处理文件,并使用计划任务自动运行该批处理文件。或者您可以使用this thread 中提到的目录监视器。请参阅下面的示例批处理文件:

cd c:\gitRepoDirectory\
git config --global user.email "you@example.com"
git config --global user.name "username"
git add .
git commit -m autocommit
git push https://PersonalAccessToken@dev.azure.com/path/to/azurerepo --all

查看以下链接了解更多信息:

Setting-up automatic Git pushing upon file change

Making git auto-commit

【讨论】:

以上是关于是否可以在应用程序服务器上设置 git 客户端以自动进行版本控制并将配置文件推送到 Azure Repo?的主要内容,如果未能解决你的问题,请参考以下文章

Qtcp在服务器和客户端之间以自定义速率发送数据

Git - 智能 HTTP

是否可以在 node.js 服务器上设置运行(服务器端)的 socket.io 客户端?

在远程 OS X 服务器上创建一个新的 git 存储库

git在eclipse上显示提交成功但lab完全没显示

是否可以在 2 台机器上使用相同的 ssh 私钥/公钥对来访问 git 存储库?