git - 是否可以在应用程序服务器上设置 git 客户端以自动进行版本控制并将配置文件推送到 Azure Repo?
问题描述
我们有一个机器学习和分析平台,允许用户构建和组合数据管道、单/多变量分析和导入的 python 模型。这些存储为配置文件,可以导出为 json 或文本。与其强制用户手动导出文件并上传/提交到远程仓库,是否可以在托管应用程序和配置文件的服务器上安装 git 客户端以自动上传/提交更新的文件到远程仓库?
解决方案
可以自动提交文件更改并将其推送到远程仓库。
如果应用程序托管在 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
查看以下链接以获取更多信息:
推荐阅读
- monitoring - Grafana 电子邮件警报配置
- prometheus - Cortex 可以读取规则但不激活它们,在 Ruler 中使用 API“/api/prom/api/v1/rules”检查时,所有 Cortex 规则都处于非活动状态
- javascript - 根据部分的背景更改汉堡菜单的颜色
- java - @Service 类未在 org.mapstruct.@Mapper 类中自动装配
- javascript - 按百分比选择数组索引
- python - 如何将 PDF 文档直接解析为图像数组到 RAM 缓冲区
- bash - 减少 wget 中的失败尝试次数
- angular - 如何在swimlane-ngx-charts的一个环绕圈中获取所有值 - 仪表图表
- html - 如何在实体框架模板上制作下拉菜单
- android - 当我将数据添加到 Firebase 时,它会更新旧数据而不是写入新数据