Open
Description
Actual Behavior
On 28. April '23 the deployment runs as expected. Today it fails on
TYPO3\Surf\Task\TYPO3\CMS\SetUpExtensionsTask
with message
xxx.your-server.de (TYPO3 CMS) TYPO3\Surf\Task\TYPO3\CMS\SetUpExtensionsTask
>
> [ Symfony\Component\Console\Exception\CommandNotFoundException ] The command "extension:activate" does not exist.
Got exception "Command returned non-zero return code: 1" rolling back.
Only difference is the TYPO3 version 11.5.26 and 11.5.27.
When installing surf 3.4 as dependency in project composer.json and start deployment inside ddev container it works as expected.
Steps to Reproduce the Problem
- surf deploy typo3 via gitlab-ci.yaml in current Gitlab CE (self-hosted)
Specifications
- Surf Version: Latest 3.3.x on 28. April, 3.4 now
- Application: TYPO3 11
- PHP Version: 7.4 and 8.1
- Platform:
- Environment (CI):
- Deployment configuration:
Gitlab CI
stages:
- Build
surf:live:
stage: Build
when: manual
image: t3easy/surf:3-php7.4-composer2-node16
before_script:
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa gitlab.xxx.io >> ~/.ssh/known_hosts
- ssh-keyscan -t rsa -p 222 xxx.your-server.de >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- composer config gitlab-token.$CI_SERVER_HOST gitlab-ci-token $CI_JOB_TOKEN
script:
- surf deploy typo3
Surf Config:
<?php
/** @var \TYPO3\Surf\Domain\Model\Deployment $deployment */
$node = new \TYPO3\Surf\Domain\Model\Node('xxx.your-server.de');
$node
->setHostname($node->getName())
->setOption('username', 'xxx')
->setOption('port', '222')
->setOption('phpBinaryPathAndFilename', '/usr/bin/php');
$application = new \TYPO3\Surf\Application\TYPO3\CMS();
$application
->setDeploymentPath('/usr/home/xxx/public_html')
->setOption('baseUrl', 'https://xxx.dev.xxx.at/')
->setOption('webDirectory', 'htdocs')
->setOption('symlinkDataFolders', ['fileadmin'])
->setOption('repositoryUrl', getenv('CI_REPOSITORY_URL') !== false ? getenv('CI_REPOSITORY_URL') : 'file://' . dirname(__DIR__))
->setOption('branch', getenv('CI_COMMIT_REF_NAME') !== false ? getenv('CI_COMMIT_REF_NAME') : 'main')
->setOption('keepReleases', 3)
->setOption('composerCommandPath', 'composer')
->setOption('rsyncExcludes', [
'.git*',
'.ddev',
'.surf',
'node_modules',
'.editorconfig',
$application->getOption('webDirectory') . '/fileadmin',
])
->addNode($node);
$deployment
->addApplication($application)
->onInitialize(
function () use ($deployment, $application) {
$deployment->getWorkflow()
->defineTask('CopyEnvFileTask', \TYPO3\Surf\Task\ShellTask::class, [
'command' => [
'cp {sharedPath}/.env {releasePath}/.env',
'cd {releasePath}',
]
])
->afterStage('transfer', 'CopyEnvFileTask', $application)
->addTask(\TYPO3\Surf\Task\TYPO3\CMS\CompareDatabaseTask::class, 'migrate', $application)
->defineTask('FixFolderStructureTask', \TYPO3\Surf\Task\TYPO3\CMS\RunCommandTask::class, [
'command' => 'install:fixfolderstructure'
])
->addTask('FixFolderStructureTask', 'migrate', $application)
->defineTask('LanguageUpdateTask', \TYPO3\Surf\Task\TYPO3\CMS\RunCommandTask::class, [
'command' => 'language:update'
])
->addTask('LanguageUpdateTask', 'migrate', $application)
->addTask(\TYPO3\Surf\Task\TYPO3\CMS\WarmupCacheTask::class, 'migrate', $application)
->beforeStage('transfer', \TYPO3\Surf\Task\Php\WebOpcacheResetCreateScriptTask::class, $application)
->afterStage('switch', \TYPO3\Surf\Task\Php\WebOpcacheResetExecuteTask::class, $application);
}
);
Metadata
Metadata
Assignees
Labels
No labels