本文整理匯總了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);
}