使用 git 自动更新应用程序
有没有办法使用 git 作为应用程序的自动更新机制。就像 google chrome 所做的那样(或 Mac 上的 Github)。
我想创建一个包含整个应用程序(包括二进制文件)的中央 git 存储库,并且能够使应用程序在后台从存储库中提取更改。新版本应在下次启动时安装。
谢谢
is there any way to use git as an automatic updating mechanism for applications. something like what google chrome does (or Github for Mac).
I want to create a central git repo that contains the whole app (including binaries) and be able to make the application pull in changes from the repo in the background. The new version should be installed on the next start.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我制作了一个使用 Git 作为自动更新程序的 java 程序。该程序的作用是检查
CurrentVersion.txt
的原始文本。如果该数字大于程序版本,则会从 git 存储库下载更新程序。然后,更新程序充当版本之间的媒介,删除旧版本并用新下载的版本替换它。这很简单。I made a java program that uses Git as an autoupdater. What the program does is that it checks the raw text of a
CurrentVersion.txt
. If the number is greater than the program version, it downloads an updater from the git repo. The updater then acts as a medium between the versions and deleting the old version and replacing it with the newly downloaded one. It was pretty simple.你不是在回答你自己的问题吗?在应用程序启动时进行 Git pull。 git pull 之后,您可以运行一些脚本来执行特定于更新的操作。
如果您有一个 Web 应用程序,我不会对您的应用程序的每个请求执行此操作,而是在每 N 分钟运行一次的 cron 作业中执行此操作。
Aren't you giving the answer to your own question? Git pull on startup of your application. After a git pull you could run some scripts to execute update-specific actions.
If you've got a webapplication I wouldn't do this on each request to your application, but in a cron job that runs every N minutes.
它可能看起来是一个好主意,因为 git 在存储文件增量方面非常有效,但之后就不是了:你必须将 git 嵌入到你的应用程序中。不确定这是可取的。
最好看看 courgette,Chrome 的自动更新机制(仅限对于 Windows AFIK),以及 自动更新标签
It could look like a good idea, since git is quite efficient at storing files delta, but after it's not: you'd have to embed git with your application. Not sure it is desireable.
Better look at courgette, the Chrome's auto-update mechanism (only for Windows AFIK), and the most voted answers to auto-update tag
如果您使用的是 Windows 计算机,您可以使用我的 图形解决方案
或创建一个 DOS 批处理文件我这样做的方式
这是我的解决方案:
If you're on Windows machine, you can use my graphic solution
Or create a DOS batch file the way I did it
Here is my solution:
您始终可以采取解决方法,例如服务器中的文本文件,该文件将存储最新版本。在软件启动时,下载此文件,验证文件版本是否与已安装软件的版本不同,然后下载新版本安装程序并运行它。
实施起来非常简单...
you always can make a workaround like a text file in server, that will store the last version. On your software startup, download this file, verify if version of file is different from version of installed software, and do the download the new version installer and run it.
is quite simple to implement...