F1 DevOps Story 4: Set up a Basic CI/CD Pipeline
Description
Set up a fully functioning CI/CD pipeline that facilitates continuous integration and deployment of the project code. The pipeline should cater to the specific needs of the project, including building the application, running linters, checkers, unit and integration tests, building the Docker image, placing the image into the OSDU GitLab container registry, running a Docker container.
Acceptance Criteria
- A functioning CI/CD pipeline is established that can:
-
- Build the application. -
- Run all linters and checkers. -
- Run unit tests. -
- Build the Docker image. -
- Place the Docker image into the OSDU GitLab container registry. -
- Run the Docker container. -
- Run integration tests. - The pipeline should trigger on any branch push on GitLab and also on the merge request (MR) merge into the main branch.
Testing Scenarios
- Confirm that the pipeline successfully executes all the defined stages: application build, linters and checkers, unit tests, Docker image build, image placement into GitLab container, Docker container run, and integration tests.
- Validate that the pipeline triggers and executes successfully post a branch push or an MR merge on GitLab.
Technical Notes
- Consult documentation for the selected CI/CD tool for guidance on setting up the pipeline.
- Align the setup with other OSDU services' pipelines like Storage to ensure consistency and maintain OSDU standards.
- The pipeline implementation should adhere to the OSDU rules.
- Use "os-core-common" and "os-core-lib-aws" libraries in line with how other OSDU core services use them to reduce boilerplate in the pipeline scripts.
Edited by Siarhei Symanovich (EPAM)