CI/CD pipelines ci-cd-pipeline
Learn about CI/CD pipelines and how they handle deployments to staging and production environments in Cloud Manager.
Overview overview
Cloud Manager includes a continuous integration/continuous delivery (CI/CD) framework, which allows implementation teams to test quickly and deliver new or updated code. Implementation teams can set up, configure, and start an automated CI/CD pipeline. This pipeline follows Adobe coding best practices to perform a comprehensive code scan and ensure the highest code quality.
The CI/CD pipeline also automates unit and performance testing processes to increase deployment efficiency and proactively identify critical issues that are expensive to fix after deployment. Implementation teams can access a comprehensive code performance report to gain visibility into potential impact on KPIs and critical security validations if the code gets deployed to production.
About the pipeline process pipeline-process
The following diagram illustrates what happens when a release is triggered in Cloud Manager using a pipeline.
2018.531.245527.0000001222.Code sources code-sources
Pipelines can also differ by the type of code they deploy, in addition to production and non-production.
- Full stack pipelines - Deploy the complete AEM application code along with HTTPD/Dispatcher configurations.
- Web tier config pipelines - Deploy HTTPD/Dispatcher configurations only.
Full stack pipelines full-stack-pipeline
Full-stack pipelines deploy the complete AEM application code to the AEM runtime, and by default, also deploy web tier configurations.
The following restrictions apply.
- A user must be logged in with the Deployment Manager role to configure or run pipelines.
- At any time, there can only be one full-stack pipeline per environment.
The following describes how the full-stack pipeline interacts with a web tier config pipeline.
- The full-stack pipeline for an environment ignores the Dispatcher configuration if the corresponding web tier config pipeline exists.
- If the corresponding web tier config pipeline for the environment does not exist, the user can configure the full-stack pipeline to include or ignore the Dispatcher configuration.
Full-stack pipelines can be code quality pipelines or deployment.
Configure full-stack pipelines configure-full-stack
See Add a production pipeline.
See Add a non-production pipeline.
Web tier config pipelines web-tier-config-pipelines
Web tier config pipelines allow exclusive deployment of HTTPD/Dispatcher configuration to the AEM runtime, decoupling it from other code changes. It is a streamlined pipeline that provides users who want to deploy only Dispatcher configuration changes, an accelerated means to do so in only a few minutes.
The following restrictions apply.
- A user must be logged in with the Deployment Manager role to configure or run pipelines.
- At any time, there can only be one web tier config pipeline per environment.
- The user cannot configure a web tier config pipeline when its corresponding full-stack pipeline is running.
The following describes how the web tier config pipeline interacts with the full stack pipeline.
- If a web tier config pipeline is not set up for an environment, the user can choose to include or ignore the Dispatcher configuration while configuring the full-stack pipeline.
- Once a web tier config pipeline is configured for an environment, its corresponding full-stack pipeline (if one exists) ignores the Dispatcher configuration during execution and deployment.
- After a web tier config pipeline is deleted, its corresponding full-stack pipeline (if one exists) is reset to deploy Dispatcher configurations during its execution.
Configure web tier pipelines configure-web-tier
See Add a production pipeline.
See Add a non-production pipeline.
Faster builds using Smart Build use=smart-build
Cloud Manager now uses an optimized build strategy called Smart Build, which uses module-level caching to speed up the build process. During each build, only modules that have changed are rebuilt, while unchanged modules are reused from the cache.
Smart Build is available for Code Quality and Dev Full Stack deployment pipelines only.
See Add a non-production pipeline and About using Smart Build in a non-production pipeline.
How to set up a CI/CD pipeline how-to-setup-a-ci-cd-pipeline
To learn more about pipeline configuration, see the documents Configuring Production Pipelines and Configuring Non-Production Pipelines.
Quality gates quality-gates
The CI/CD pipeline provides quality gates, or acceptance criteria, which must be met before the code can be moved from the staging environment to the deployment environment. There are three gates in the pipeline:
- Code Quality
- Performance Testing
- Security Testing
For each of these gates, there are three levels of issues that can be identified:
- Critical - Critical issues identified by the gate cause an immediate failure of the pipeline.
- Important - Important issues identified by the gate cause the pipeline to enter a paused state. A deployment manager, project manager, or business owner can override the issues, allowing the pipeline to proceed. Alternatively, they can accept the issues, causing the pipeline to stop with a failure.
- Information - Information issues identified by the gate are provided purely for informational purposes and have no impact on the pipeline execution.
The following is an example of a code scan with issues identified.
How to set up gates how-to-setup-gates
See the document Configuring Production Pipelines for details on setting up your code, quality, and performance gates.