Skip to content

The command "extension:activate" does not exist. #762

Open
@halbkreativ

Description

@halbkreativ

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

  1. 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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions