我正在尝试使用Magallanes部署PHP Web应用程序。
这是我的实际任务配置:
tasks:
pre-deploy:
- composer/install
on-deploy:
- filesystem/link-shared-files:
linked_folders:
- web/fileadmin
- web/uploads
- web/typo3temp
- web/typo3conf/l10n
post-release:
- general/manually:
- vendor/bin/typo3cms install:fixfolderstructure
- vendor/bin/typo3cms install:generatepackagestates --activate-default=true
- vendor/bin/typo3cms cache:flush true
- vendor/bin/typo3cms database:updateschema "*.add,*.change"
- vendor/bin/typo3cms cache:warmup
post-deploy:
使用时:
pre-deploy:
- composer/install
将始终使用composer install --dev
调用Composer。有没有办法用--no-dev
而不是--dev
来调用作曲家?
PS:我已经尝试了- composer/install --no-dev
,这会产生以下错误:
启动预部署任务:
找不到任务“Composer / installNoDev”。
更新
因为我需要更多参数,所以我使用了general/manually
。我的解决方案现在是:
tasks:
pre-deploy:
- general/manually:
- php7.0 /usr/local/bin/composer install --no-dev --no-progress --optimize-autoloader
但另一方面,我的原始问题有所不同。所以克里斯的回答似乎是正确的。
答案 0 :(得分:1)
我认为这会奏效:
pre-deploy:
- composer/install: {dev: false}
我在文档中找不到此内容,但the source references a 'dev'
parameter似乎控制了--dev
/ --no-dev
:
public function run()
{
$dev = $this->getParameter('dev', true);
return $this->runCommand($this->getComposerCmd() . ' install' . ($dev ? ' --dev' : ' --no-dev'));
}
文档为a bit more helpful about setting parameters,但我不确定它是否会将false
正确读取为布尔值。