Satis私人回购更新工作流程

时间:2016-02-29 18:37:11

标签: composer-php workflow satis

我在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

如何使用回购更改来更新计算机上的文件夹?

再次感谢

1 个答案:

答案 0 :(得分:2)

最好有一个脚本或一键式作业来完成您需要的所有Satis更新通话。

通常,您的工作流程如下:

  1. 更新软件,提交并推送它,并使用新版本号标记它。推动标签。
  2. 更新Satis回购数据。
  3. 使用composer update更新您的主程序包 - 这应该获取程序包的新标记。
  4. 更新Satis可能只是一个简单的命令行调用,但它包含文件参数,并且您不想记住它们。只需添加一个简单的shell脚本satis-update即可使用正确的参数调用Satis。如果可能,请在Jenkins或Bamboo上创建作业,或者在允许您单击开始更新的按钮的任何位置创建作业。

    最好的解决方案是在推送标签后向所有启动更新的repos添加提交后触发器,但这是先进的。我自己的Satis实例拥有120个内部包,Satis每晚运行一次,或者如果开发人员需要更快地运行,则可以手动按需运行。完成大约需要5分钟。

    请注意,您可以通过添加正在开发的存储库作为额外的vcs repo来省略Satis更新周期。这样您的主程序包就可以直接查询存储库,并立即了解新标记。但是,这只是在开发期间才真正推荐的。

相关问题