Automated test and deployment pipeline

Creating workflow that automates testing and deployment. Key components are Docker, Git, Travis-CI and Elastic Beanstalk on AWS.

Purpose of creating workflows such as this is to make repetitive testing and deployments easy as possible, minimize use of time and possibility to human error. What could go wrong if software tests and go-live deployments are done by computers?


Description automatically generated
I learned this flow from Stephen Grider in his course:

This pipeline works like this:

Developer develops his Application in “feature” branch of his github repository. 


Description automatically generated
Developing some great application

Master branch is for deployment. 

A screenshot of a computer

Description automatically generated
Merging development branch to master

When master branch is updated, it initiates Travis-CI which runs Application’s tests. 

Travis-CI is running my applications tests

If tests are run successfully, AWS is alerted to pull edited code and go live with it. 

Graphical user interface, text, application, Teams

Description automatically generated
Elastic Beanstalk on AWS has successfully pulled new source code, which Travis tested

Description automatically generated
WE ARE LIVE! Just by merging development branch to master

Application is running in Docker container. Check out my repo for source code!!

Leave a Reply

Your email address will not be published.