0

我在 GitHub 上有一个私人仓库,并在我的服务器上配置了 Satis。

Satis 只有一个我指定的标签,称为 0.9.1

一切正常,我使用 composer create-project 命令在我的计算机上创建一个带有 repo 内容的新项目,安装 composer 依赖项等。

现在的问题

假设 repo 继续开发,现在我有一个名为 0.9.2 的标签。

如何使用新的 repo 标签更新我机器上的项目。

我需要在 satis 服务器上执行其他任务吗?我需要在我的机器上运行一些命令吗?这种情况下最好的工作流程是什么?

特兰克斯

更新

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

}

这是我在 satis 上的项目配置文件

{
    "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

现在,问题是,当我转到我的存储库并删除文件 file1.txt 并创建另一个名为 file3.txt 的文件时,提交、推送、重新创建 satis

如何使用 repo 更改更新我机器上的文件夹?

再次感谢

4

1 回答 1

2

最好有一个脚本或一键式作业来执行您需要的所有 Satis 更新调用。

一般来说,您的工作流程是这样的:

  1. 更新软件,提交并推送它,并用新的版本号标记它。推标签。
  2. 更新 Satis 存储库数据。
  3. 更新你的主包composer update- 这应该获取包的新标签。

更新 Satis 可能只是一个简单的命令行调用,但它有文件参数,你不想记住它们。只需添加一个简单的 shell 脚本satis-update,使用正确的参数调用 Satis。如果可能,请在 Jenkins 或 Bamboo 或任何允许您单击开始更新的按钮的地方创建一个作业。

最好的解决方案是在推送标签后向所有启动更新的存储库添加提交后触发器,但这是先进的。我自己的 Satis 实例托管 120 个内部包,Satis 要么每晚运行一次,要么在开发人员需要更快更新时手动按需运行。大约需要 5 分钟才能完成。

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

于 2016-03-01T00:49:42.310 回答