本文整理汇总了PHP中Symfony\Component\Console\Input\InputInterface::getoption方法的典型用法代码示例。如果您正苦于以下问题:PHP InputInterface::getoption方法的具体用法?PHP InputInterface::getoption怎么用?PHP InputInterface::getoption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Console\Input\InputInterface
的用法示例。
在下文中一共展示了InputInterface::getoption方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
protected function execute(InputInterface $input, OutputInterface $output)
{
$configFile = $input->getArgument('config');
$terminalDimensions = $this->getApplication()->getTerminalDimensions();
$container = $this->getApplication()->getContainer();
$configurationService = $container->get('configurationService');
$dockerService = $container->get('dockerService');
$configuration = $configurationService->createFromYaml($configFile, $input->getoption('env'));
$script = $configuration->getScript();
$allSuccess = true;
foreach ($configuration->getImages() as $image) {
$output->writeln(sprintf('<info>%s</info>', str_repeat('=', $terminalDimensions[0])));
$output->writeln(sprintf('<info>Running %s</info>', $image));
$output->writeln(sprintf('<info>%s</info>', str_repeat('=', $terminalDimensions[0])));
$container = new Container();
$container->setImage($image);
foreach ($configuration->getVolumes() as $volume) {
$container->addBind($volume['source'], $volume['target']);
}
$container->addVolume($script->getTargetFile(), $script->getTmpFile());
$container->addBind($configuration->getWorkingDir(), '/home/ci/project');
$container->addBind($script->getTmpFile(), $script->getTargetFile());
$container->addCallback([$this, 'logListener'], [$output]);
$output->writeln('<comment>Updating image</comment>');
if (!$dockerService->createImage($container->getImage())) {
throw new \Exception('Image could not be updated/pulled');
}
$output->writeln('<comment>Creating container</comment>');
if (!($container = $dockerService->createContainer($container))) {
throw new \Exception('Container could not be created');
}
$output->writeln('<comment>Running container</comment>');
if (!($container = $dockerService->runContainer($container))) {
throw new \Exception('Container could not be started');
}
$result = $dockerService->getInfoForContainer($container);
if ($allSuccess && $result['State']['ExitCode'] !== 0) {
$allSuccess = false;
}
$output->writeln('<comment>Deleting container</comment>');
if (!($container = $dockerService->deleteContainer($container))) {
throw new \Exception('Container could not be deleted');
}
}
$script->deleteTmpFile();
return (int) (!$allSuccess);
}