Я пытаюсь отправить свое приложение в cloudControl, но, похоже, оно не выполняет процесс сборки должным образом и продолжает отклонять мой запрос.
Вот ошибка:
C:\Users\Vincent\Documents\GitHub\***>cctrlapp *** push
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (10/10), 4.06 KiB | 0 bytes/s, done.
Total 10 (delta 1), reused 0 (delta 0)
remote:
remote: -----> Receiving push
remote: Loading composer repositories with package information
remote: Installing dependencies (including require-dev) from lock file
remote: - Installing doctrine/lexer (v1.0)
remote: Downloading: 100%
remote:
remote: - Installing respect/validation (0.6.1)
remote: Downloading: 100%
remote:
remote: - Installing slim/slim (2.4.3)
remote: Downloading: 100%
remote:
remote: - Installing zendframework/zend-escaper (2.2.6)
remote: Downloading: 100%
remote:
remote: - Installing zf1/zend-exception (1.12.8)
remote: Downloading: 100%
remote:
remote: - Installing zf1/zend-session (1.12.8)
remote: Downloading: 100%
remote:
remote: zf1/zend-session suggests installing zf1/zend-config (Used in special situations or with special adapters)
remote: zf1/zend-session suggests installing zf1/zend-db (Used in special situations or with special adapters)
remote: zf1/zend-session suggests installing zf1/zend-loader (Used in special situations or with special adapters)
remote: Generating autoload files
remote: cp: cannot stat `/srv/tmp/builddir/code/vendor': No such file or directory
remote: ! cloudControl push rejected, failed to compile php app
remote: !
remote: error: hook declined to update refs/heads/master
To ssh://***@cloudcontrolled.com/repository.git
! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'ssh://***@cloudcontrolled.com/repository.git'
Command '['C:\\Program Files (x86)\\Git\\cmd\\git.exe', 'push', u'ssh://***@cloudcontrolled.com/repository.git', 'master']' returned non-zero exit status 1
Прямо сейчас мой проект содержит эти файлы:
Как получить хук post-receive для правильной «компиляции» приложения PHP?
Это мое composer.json
файл:
{
"name": "Hello World",
"description": "My PHP application",
"authors": [
{
"name": "Vincent",
"email": " ... @gmail.com"}
],
"config": {
"vendor-dir": "includes/vendor"},
"require": {
"zendframework/zend-escaper": "2.2.6",
"respect/validation": "~0.6.1",
"slim/slim": "~2.4.3",
"zf1/zend-session": "1.12.8"}
}
Здесь есть три вероятные проблемы:
.gitignore
,vendor
Директой в нужном месте. /srv/tmp/builddir/code/vendor
будет означать, что он должен существовать в /vendor
твой в /includes/vendor
,Это может быть комбинация любого из вышеперечисленного. Чтобы можно было сказать, что мне нужно содержимое .gitignore
и composer.json
, Если бы мне пришлось делать ставку, мои деньги были бы на последнем варианте.
Чтобы исправить проблему с пустым каталогом, убедитесь, что /.gitignore
файл не включает /includes/vendor
в любом случае. Затем создайте /includes/vendor/.gitignore
файл со следующим содержанием:
# Ignore everything in this directory
*
# Except this file
!.gitignore
Чтобы исправить последние, проверьте ваш composer.json
и ‘target-dir’, установленный там. Обратитесь к Документация композитора Больше подробностей.
Других решений пока нет …