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

问题描述

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

标签: gitazureversion-controlazure-devopsrepository

解决方案


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

如果应用程序托管在 linux 服务器上,您可以使用inotifywait。您可能需要个人访问令牌才能推送到 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命令的批处理文件,并使用计划任务自动运行该批处理文件。或者您可以使用此线程中提到的目录监视器。请参见下面的示例批处理文件:

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

查看以下链接以获取更多信息:

在文件更改时设置自动 Git 推送

让 git 自动提交


推荐阅读