Configuring targeted dynamic parallel testing to a CI/CD pipeline
Fredrikson, Mikko (2024)
Fredrikson, Mikko
2024
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024052314678
https://urn.fi/URN:NBN:fi:amk-2024052314678
Tiivistelmä
In the software development industry, Continuous Practices and DevOps have been widely utilised by teams to facilitate rapid iteration and meet customer requirements. A problem wasidentified in the current configuration for Continuous Integration & Development (CI/CD) pipeline, where the time to return valuable information to developers increased linearly with the growing scope, disrupting development. To address these concerns, a solution was designed and implemented, guided by the Constructive Research Approach, which enabled the development of a new solution in an iterative manner and allowed for systematic reporting of the process.
An automatic CI/CD pipeline utilising GitHub Actions was developed specifically for a repository hosting microservices. The newly designed pipeline employs targeted testing and building, alongside dynamic parallelisation, to deliver value to developers more rapidly. Additionally, it builds Docker Images and deploys them to Azure Container Registry, setting these updated images readily available for immediate use by developers who wish to test their changes.
A significant feature of the pipeline is its provision for automatically versioning the built Docker Images, allowing subsequent pipelines to use the same, already built, and tested images. This approach saves time by avoiding unnecessary rebuilds and preventing discrepancies between tested and deployed versions. The insights and methodologies reported in the study can be repurposed in future projects to reduce redundant work and delays in CI/CD pipelines, enhancing efficiency and developer satisfaction.
An automatic CI/CD pipeline utilising GitHub Actions was developed specifically for a repository hosting microservices. The newly designed pipeline employs targeted testing and building, alongside dynamic parallelisation, to deliver value to developers more rapidly. Additionally, it builds Docker Images and deploys them to Azure Container Registry, setting these updated images readily available for immediate use by developers who wish to test their changes.
A significant feature of the pipeline is its provision for automatically versioning the built Docker Images, allowing subsequent pipelines to use the same, already built, and tested images. This approach saves time by avoiding unnecessary rebuilds and preventing discrepancies between tested and deployed versions. The insights and methodologies reported in the study can be repurposed in future projects to reduce redundant work and delays in CI/CD pipelines, enhancing efficiency and developer satisfaction.