Important
EOL notice! Drupal 8 reached end-of-life on November 2, 2021. Therefore, Acquia will not be performing any testing related to Drupal 8 to ensure compatibility. Acquia recommends upgrading to Drupal 9 or later. For more information, see Frequently Asked Questions.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Build Drupal | Build Code | Fatal error: Allowed memory size
of 1610612736 bytes exhausted
(tried to allocate 4096 bytes) in
phar:///usr/local/bin/composer/src/
Composer/DependencyResolver/Solver.php
on line 201. |
Application | Customer |
The application uses an older version of the Acquia CMS project template, which causes a Composer memory limit error.
Confirm that your application meets the following best practices:
composer.json
, remove the lines that point to the old Acquia CMS
project template. Acquia CMS utilizes the Acquia Drupal recommended project.composer.lock
.composer.lock
and the failing composer.lock
.Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Deploy Drupal | Deploy Branch to Acquia & Deploy Tag to Acquia jobs | In PushArtifactCommand.php line 100:
[Acquia\Cli\Exception\AcquiaCliException]
Pushing code was aborted because your local
Git repository has uncommitted
changes. Please either commit, reset, or
stash your changes via git. |
Application | Customer |
Directories are committed in the codebase. Git must ignore the directories so that Composer can add them during the build.
Update the .gitignore
file in the root of your project so that Git ignores
the proper directories. The recommended .gitignore
file is located in this location.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Test Drupal | Test Drupal | 'Create artifact from branch' job needs
'Test Drupal' job, but 'Test Drupal' is
not in any previous stage. |
Application | Customer |
The Acquia Auto DevOps template is copied incorrectly in the entire codebase.
Remove everything in the file and add any necessary customization
back in the before_script
and after_script
parameters.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
All | N/A | Found errors in your .gitlab-ci.yml:
'Create artifact from branch' job needs
'Test Drupal' job, but 'Test Drupal' is
not in any previous stage. |
Applications | Customer |
One job requires another job to complete the stage, but the required dependent job is currently not running. This can occur from a number of situations, such as the job not being defined in the template or mismatching conditions for when jobs are scheduled to run.
The following are the ways to resolve this error:
.gitlab-ci.yml
in CI Lint.Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Automatic Updates | Deprecated Code Update | Command
[$rector_bin process ${ACQUIA_CUSTOM_CODE_DIRS} --ansi]
exited with code [1] |
Application | Customer |
The existing Drupal code is deprecated.
Identify the files with deprecated Drupal code and update the code.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Test Drupal | PHP Stan | Command
["$CI_PROJECT_DIR"/vendor/bin/phpstan]
exited with code [1] |
Application | Customer |
The existing code does not follow the proper coding standards.
Identify the files with code standards errors and update the code.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Test Drupal | BLT Tests Drupal | [error] Command
`tests:security-drupal `
exited with code [1] |
Application | Customer |
One or more packages require security updates.
Run composer update <package>
and commit the changes.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Automatic Updates | Composer Update | [error] Invalid commit message!
Commit messages must conform to the regex
/(^CHANGEME-[0-9]+(: )[^ ].{15,}\.)|(Merge branch (.)+)/
The commit message should include your project prefix,
followed by a hyphen and ticket number, followed by a
colon and a space, fifteen characters or more describing
the commit, and end with a period.
Example: CHANGEME-123: Update module configuration. |
Application | Customer |
Your application uses BLT, and BLT is placing limitations on the commit message syntax.
You must add the following to blt/blt.yml
for Code Studio to work:
git:
hooks:
pre-commit: false
pre-push: false
commit-msg: false
For more information, see Using BLT with Code Studio.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Deploy Drupal | Create Acquia CDE job | Customer experiences issues with creating CDEs. The Create Acquia CDE job is not completing. | Application | Customer |
You reached your CDE entitlement limit or you do not have a CDE entitlement.
To resolve this error, do one of the following:
ACQUIA_JOBS_CREATE_CDE
variable to false.Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Deploy Drupal | Creating Artifact | Fatal error: Uncaught Error: Call to
undefined method
Composer\XdebugHandler\XdebugHandler::isXdebugActive()
in /builds/<project>/vendor/acquia/blt/
src/Robo/Inspector/Inspector.php:603 |
Application | Customer |
Your application is on BLT 13.5.
Update to BLT 13.6.0.
Build stage | Job | Error message | Category | Responsibility |
---|---|---|---|---|
Deploy Drupal | Creating Artifact | glab auth git-credential: "erase" is an invalid operation
remote: HTTP Basic: Access denied. The provided password or
token is incorrect or your account has 2FA enabled and you
must use a personal access token instead of a password.
See https://code.acquia.com/help/topics/git/troubleshooting_git
#error-on-git-fetch-http-basic-access-denied
fatal: Authentication failed for 'https://code.acquia.com/<USERNAME>/<PROJECT-NAME>.git/' |
Application | Customer |
Your token has expired.
Code Studio supports Drupal 9.x and later.
It is likely that you committed contributed dependencies to your repository. Acquia does not recommend this.
git rm -r --cached vendor docroot/core docroot/libraries
docroot/modules/contrib docroot/themes/contrib
docroot/profiles/contrib node_modules
Add these to your .gitignore
. For an example, see acquia/drupal-recommended-project.
Composer provides multiple mechanisms for downloading private packages.
Acquia recommends that you store authentication credentials in a project auth.json
. For more information, see Authentication in auth.json per project.
This works in Code Studio CI/CD jobs.
SSH access is currently restricted for applications running on Kubernetes in Acquia Cloud. This feature is under development and will be available prior to LA/GA. For more information about deploy tokens, see Deploy Tokens API.
This is a security restriction on application containers running in the Acquia Kubernetes service.
composer.phar
or acli.phar
(which Acquia has already done for you), you can place it in '$HOME/bin'
.
The bin folder in the CI user’s home directory is already added to $PATH
.
It works as long as your binary has an execute permissions set.`apt`
or similar, submit a case with Acquia Support.Error message:
CDE environment with name CDE-xxxx already exists
Resolution 1:
If a merge request cannot be declined/merged immediately for some reason, one way is to stop the CDE environment:
Resolution 2:
No. You can have unlimited projects in Code Studio. However, the Code Studio AutoDevOps pipeline requires your Code Studio project to be linked to an Acquia Cloud application. You can link only one Code Studio project to a given Cloud application.
Yes. For instructions on how to set up Code Studio with Cloud IDE, see Setting up a Code Studio project.
For more information, see the following tutorials on dev.acquia.com:
Yes. Code Studio is compatible with existing applications running Acquia CMS, Drupal 9 or later.
Code Studio makes assumptions about how projects are formatted and which tools are used with it. Existing projects may need to make alterations based on these assumptions to take full advantage of Code Studio.
Yes. You can use a third-party repository with Code Studio. For instructions on how to integrate your private repository with Code Studio, see Configuring repository mirroring in Code Studio.
Yes. Code Studio works with Jira. For instructions on how to configure Code Studio with Jira, see How to achieve a Gitlab Jira integration.
You can configure each GitLab project in Code Studio to connect to an entire Jira instance. After the configuration, the GitLab project can interact with all Jira projects in that instance. You do not have to associate a GitLab project with a single Jira project.
Yes. You can integrate a Veracode Static analysis by customizing the standard template for the Code Studio AutoDevOps pipeline.
To customize the AutoDevOps pipeline in Code Studio, see Adding a before_script or after_script to a Code Studio job.
With Code Studio entitlements, seats are equivalent to users. The number of seats within your Code Studio subscription is equal to the number of users you can add to your Code Studio instance.
For more questions about Code Studio entitlements, contact your Acquia account team.
Yes. You can use Code Studio with non-Drupal applications. However, the AutoDevOps pipeline is optimized for Drupal.
When using non-Drupal applications, the Test Drupal stage jobs do not work.
Yes. You can use Code Studio with Node.js applications. However, the AutoDevOps pipeline is optimized for Drupal.
When using non-Drupal applications, the Test Drupal stage jobs do not work.
Yes. You can customize Code Studio builds. For instructions, see Customizing a default Code Studio pipeline.
Error message:
Undefined constant Rector\Core\Configuration\Option::IMPORT_DOC_BLOCKS
This error is usually a result of an older version of rector being added in your project.
Code Studio attempts to add the latest version of rector during the Pipeline. However, it
uses your version if that is included in your project’s composer.lock
.
Resolution 1:
composer remove palantirnet/drupal-rector
.rector.php
file from the root of your project, allowing Code Studio to handle the rector going forward.Resolution 2:
composer update palantirnet/drupal-rector -W
to upgrade your rector package to the latest rector version.rector.php
file from the root of your project.cp vendor/palantirnet/drupal-rector/rector.php
to recopy the rector.php
file.Error message:
Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator::__construct(): Argument #1 ($container) must be of type
Symfony\Component\DependencyInjection\ContainerBuilder, RectorPrefix202208\Symfony\Component\DependencyInjection\ContainerBuilder given,
called in /home/codestudio/.config/composer/vendor/rector/rector/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php on line 67
This error indicates that your project’s rector.php
file needs to be recreated. Newer
versions of rector altered the configuration syntax, resulting in your rector.php file
no longer being valid.
Resolution:
rector.php
file at the root of your project.cp vendor/palantirnet/drupal-rector/rector.php
to recopy the rector.php
file to your project.Yes. Build time is limited to 10k minutes per Code Studio group.
No. With the AutoDevOps pipeline, Acquia maintains the container images used in Code Studio jobs. You can customize jobs, but the base images are selected by Acquia as secure, vetted options that remove overhead for our users.
Yes, you can disable AutoDevOps.
Note
Disabling AutoDevOps removes the Acquia-optimized steps needed to build, test, and deploy Drupal applications to Acquia Cloud.
To disable AutoDevOps:
Yes. The continuous integration (CI) feature of Code Studio is compatible with Acquia Site Factory. However, the continuous delivery (CD) feature of Code Studio is not compatible with Acquia Site Factory.
For more information, see the Site Factory supportability matrix.
No. External licenses for Gitlab cannot be used with Acquia Code Studio.
It is likely that you committed files or directories that Acquia recommends to gitignore.
Ensure that you do not commit any of the following:
Package managers, such as Composer and npm, add these files and directories when the system creates a deploy artifact. For more information, see Sample .gitignore file.
If you did not commit the specified files or directories, and have a large codebase, see Known issues in Code Studio.