Как добавить локальный Git-репозиторий на сервер - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь выполнить тестирование проекта композитора, который должен быть запущен командой create-project.Я могу сделать это уже вручную, создав файл packages.json в рассматриваемом репо:

{
  "package": {
    "name": "me/my-project",
    "version": "1.0.0",
    "source": {
      "url": "/literal/filepath/to/repo/root/.git",
      "type": "git",
      "reference": "feature/branch_being_tested"
    }
  }
}

, а затем запустив команду create-project, например:

rm -rf ~/.composer/cache/vcs/; composer create-project me/my-project

Первый бит - очистить локальный кэш контроля версий для композитора, чтобы, если я сделал локальное изменение в ветке, кэш композитора распознал это изменение (можно также выполнить composer clearcache, но это займет намного больше времени,перестроить).

Что я хотел бы сделать, так это иметь возможность использовать мой локальный сервер suc, чтобы отслеживать это для меня, поэтому мне не нужно указывать URL репо.

IВ моем файле композитора home composer.json установлена ​​запись для моего сервера удовлетворительно, например:

{
    "repositories": [
    {
      "type": "composer",
      "url": "https://satis-server.local",
      "options": {
        "ssl": {
          "verify_peer": true,
          "allow_self_signed": true
        }
      }
    }]
}

(это прекрасно работает; я добавил ее для полноты).

Мои удовлетворительно.json выглядит так:

{
    "name": "My Local Satis Repository",
    "homepage": "https://satis-server.local",
    "repositories": [{
        "type": "package",
        "package": {
            "name": "me/my-project",
            "version": "1.0.0",
            "source": {
                "url": "/literal/filepath/to/repo/root/.git",
                "type": "git",
                "reference": "feature/branch_being_tested"
            }
        }
    }],
    "require-all": true,
    "require-dependencies": false,
    "require-dev-dependencies": false,
}

Это прекрасно работает, но я получаю исключение при попытке создать проект из него:

[InvalidArgumentException]
Could not find package me/my-project with stability stable.

Я также пытался:

{
    "type": "git",
    "url": "file:///literal/filepath/to/repo/root/.git"
}

, который получил меня:

[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of file:///literal/filepath/to/repo/root/.git.git, could not load a package from it.

Очевидно, я перефразирую некоторые из реальных ошибок,Но ты получил идею.

Какой правильный синтаксис для объявления локального репозитория (через file, а не url) в конфигурации satis.json?

...