An established procedure for software testing, for instance, can comprise actions like finding test cases, making test plans, carrying out tests, and reporting test results. Similarly, a pre-defined process for software release management could contain processes such as code review, testing, staging, and deployment.
As part of deployment, we asked few questions to customer before the deployment and according to requirement we follow below process:
- What is the purpose of the software?
- How is the software integrated with other services (e.g., Database)?
- Which service have they opted for to create the source repository?
- What is the desired frequency of pipeline execution?
- What is the development team’s existing toolchain?
We explain customer about Code Pipeline and its stages:
Source Stage > Build Stage > Deploy Stage
- Source Stage: This is the first stage in CodePipeline. The pipeline is initiated, and the source code is retrieved from the source repository. This stage establishes a connection between CodePipeline service and source code repository. CodePipeline can look for code changes or pull requests to set off triggers to begin the execution of the pipeline. Source repository could be AWS CodeCommit, another AWS service or a third-party service which can be chosen according to the requirements. Fetching the code from repository and initiation of the pipeline is completely automated.
- Build Stage: This stage compiles, builds, and packages the source code acquired from the Source stage in a CodePipeline pipeline. The source code retrieved in the earlier stage is converted into an executable format which can be deployed in the target environment. Developers can specify various build settings, which includes build environment, build commands and other dependencies. It supports AWS CodeBuild, Jenkins, and Shell scripts.
- Deploy Stage: Application artifact created in the previous stage is deployed to the target environment in this stage. Target environment includes development, staging, or production environment. The deployment environment, commands, and any dependencies necessary to deploy the application can all be specified during this stage by developers. Several deployment tools, such as AWS CodeDeploy, AWS Elastic Beanstalk, AWS CloudFormation, and custom scripts are supported by CodePipeline and can be used to deploy the project.