We’re continuing our work to create a curriculum focused on automation that is created with feedback from the testing community. We’ve already run a series of activities that have helped us identify a list of key tasks that helped us create this Job Profile .
We’re now in the process of going through each task and analysing them to identify the core steps we take to achieve them. For this post we’re considering the task:
Setting Up CI:CD Pipeline
We’ve run a series of community activities including social questions and our curriculum review sessions to identify the steps we need to take to successfully achieve this task and have listed them below:
- Discussion with Stakeholders, Developers, Ops, about the scope and purpose
- Confirm if our approach aligns with our automation strategy
- Confirm if our approach aligns with our testing strategy
- Confirm if our approach aligns with our development strategy
- Create several proof of concepts with different tools
- Make a team decision on tooling
- Identify the artefacts that the build needs to compile
- Identify the tests that the build has to execute
- Ensure the naming convention for the tests allows their exact purpose to be easily identified so they can be removed when they are no longer rele
- Decide what tests should be ran as part of the pipeline/builds
- Decide on the order that the tests should be executed
- Decide what happens when the build succeeds or fails
- Deploy an instance of the tooling ready to configure
- Decide what triggers the pipeline to execute
- Configure the tooling to pull the latest version of the application and test code
- Configure the tooling to build the application
- Configure the tooling to deploy the application for testing
- Configure the tooling to execute the tests
- Configure the tooling to notify on success and failed builds
What we would like to know is what do you think of these steps?
Have we missed anything?
Is there anything in this list that doesn’t make sense?
How do you go about setting up a new /CI:CD pipeline?