我在GitHub上有一个私人仓库,并在我的服务器上配置了Satis。
Satis只有一个我称之为0.9.1的标签
Everithing工作正常,我使用composer create-project命令在我的计算机上创建一个包含repo内容,安装composer依赖项等的新项目。
现在问题
假设repo继续开发,现在我有一个名为0.9.2的标签。
如何使用新的repo标签在我的机器上更新项目。
我需要在服务器上做额外的任务吗? 我需要在我的机器上运行一些命令吗? 什么是这种情况的最佳工作流程?
Tranks
更新
我在github的私人回购 https://github.com/pablonunez-dev/myproject
我的仓库中的文件。
file1.txt
file2.txt
composer.json
这是composer.json文件的内容
{
"name": "myproject",
"description": "myproject",
"keywords": ["myproject", "application template"],
"homepage": "http://www.myserver.net/",
"type": "project",
"license": "BSD-3-Clause",
"support": {
"issues": "https://github.com/yiisoft/yii2/issues?state=open",
"forum": "http://www.yiiframework.com/forum/",
"wiki": "http://www.yiiframework.com/wiki/",
"irc": "irc://irc.freenode.net/yii",
"source": "https://github.com/yiisoft/yii2"
},
"minimum-stability": "dev",
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": "2.0.7"
},
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}
这是我满意的项目配置文件
{
"name": "My Satis Packages Server",
"homepage": "http://satis.myserver.net",
"repositories": [
{ "type": "vcs", "url": "https://github.com/pablonunez-dev/myproject
],
"require":
{
"myproject/core":"0.9.*"
}
}
现在,当我去我的电脑跑步时。
C:\composer create-project myproject/core test1 --repository-url=http://satis.myserver.net
它运行良好并创建文件夹并使用结构
从composer.json安装依赖项file1.txt
file2.txt
vendor
composer.json
composer.lock
现在,问题是,当我进入我的存储库并删除de file file1.txt并创建另一个名为file3.txt,commit,push,recreate satisf
如何使用回购更改来更新计算机上的文件夹?
再次感谢
答案 0 :(得分:2)
最好有一个脚本或一键式作业来完成您需要的所有Satis更新通话。
通常,您的工作流程如下:
composer update
更新您的主程序包 - 这应该获取程序包的新标记。更新Satis可能只是一个简单的命令行调用,但它包含文件参数,并且您不想记住它们。只需添加一个简单的shell脚本satis-update
即可使用正确的参数调用Satis。如果可能,请在Jenkins或Bamboo上创建作业,或者在允许您单击开始更新的按钮的任何位置创建作业。
最好的解决方案是在推送标签后向所有启动更新的repos添加提交后触发器,但这是先进的。我自己的Satis实例拥有120个内部包,Satis每晚运行一次,或者如果开发人员需要更快地运行,则可以手动按需运行。完成大约需要5分钟。
请注意,您可以通过添加正在开发的存储库作为额外的vcs repo来省略Satis更新周期。这样您的主程序包就可以直接查询存储库,并立即了解新标记。但是,这只是在开发期间才真正推荐的。