Feature #63330
Allow node/application/deployment options as options of defined tasks
| Status: | Needs Feedback | Start date: | 2014-11-25 | |
|---|---|---|---|---|
| Priority: | Could have | Due date: | ||
| Assigned To: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - |
Description
Up to now it is possible to reuse a task like typo3.surf:shell with $workflow->defineTask('fooTask', 'typo3.surf:shell', array('command' => 'echo "Hello"')) and dedicated parameters. But what if I want node options to overwrite the parameters of a defined task, e.g.:
<?php
$nodeConfigurations = array(
array(
'name' => 'one',
'run' => 'echo "I am node one"'
),
array(
'name' => 'two',
'run' => 'echo "I am node two"'
)
);
$application = new \TYPO3\Surf\Domain\Model\Application('DummyApplication');
foreach ($nodeConfigurations as $configuration) {
$node = new \TYPO3\Surf\Domain\Model\Node($configuration['name']);
$node
->setOptions(array(
'hostname' => 'localhost',
'username' => 'jo',
'getNodeOptions[command]' => $configuration['run']
));
$application
->addNode($node);
}
$workflow = new \TYPO3\Surf\Domain\Model\SimpleWorkflow();
$workflow
->defineTask('getNodeOptions', 'typo3.surf:shell', array())
->addTask('getNodeOptions', 'transfer');
$deployment
->setWorkflow($workflow)
->addApplication($application);
This does not work for now. Maybe the provided patch is a solution. This is a quick idea, so please review carefully.
History
#1 Updated by Christopher Hlubek 6 months ago
Hi Joachim,
I couldn't find the patch you mentioned. Could you attach it to this issue?
In general this is a good idea to have, we just need to have a clear and understandable merge order of deployment, application, node and task options.
#2 Updated by Christopher Hlubek 6 months ago
- Status changed from New to Needs Feedback
#3 Updated by Joachim Mathes 6 months ago
Hi Christopher,
This is my commit: https://review.typo3.org/#/c/34621/