Deployment Testing with Goodplay
Since 2013, my involvement in numerous projects required the implementation of automated deployment processes. Recognising the need for an efficient and flexible solution, I embraced Ansible as a deployment automation tool.
With an increasing focus on developing reusable Ansible playbooks – the scripts that describe individual deployment steps – a challenge emerged: making modifications – such as adding configuration options – to existing playbooks while ensuring their continued functionality.
Faced with a lack of existing test tools that encompassed all the necessary features, I undertook the initiative to build my own solution in my spare time. The culmination of this effort is known as goodplay. Goodplay leverages pytest as the test runner, utilises Docker to establish fresh containers for each test, and employs Ansible to execute the tests seamlessly.
One of the distinctive features of goodplay is its utilisation of Ansible playbooks for writing tests. This approach eliminates the need for users to learn another test definition language, streamlining the testing process and promoting accessibility.
In summary, the evolution of this project highlights my commitment to addressing challenges in automated deployment. The development of goodplay showcases my initiative to create a comprehensive testing tool that seamlessly integrates with Ansible, Docker, and pytest. This project not only fills a specific niche but also contributes to the efficiency and robustness of automated deployment processes in various project scenarios.