We are currently starting migrating from monolith application to Microservices. Currently working on creating proper build or deployment chain with Microservices, Docker, Jenkins and GIT
Below is the simple process we are considering for the initial phase. I am hoping that there should be much better tools and processes to stream line these phases transparently. Please advise the best practices and tools to use for improving this flow.
- Changes made by developer are merged to Git repository.
- Jenkins initiates build and creates docker images tagged with build version
- Jenkins deploys the docker images and runs the integration tests
- Jenkins registers the docker images
- QA performs manual testing. They use a script, which downloads these images, based on the version provided, and sets up the test environment by overriding the properties mentioned in the dockerfile.
- we will have similar scripts for UAT