I am new to DevOps on the Ruby stack. I have Ruby on Rails application. It uses several Rest based service. Each of the services is deployed with Docker. There are no DevOps efforts now. We use Gitlab as SCM, I am assigned to do the DevOps to help the developers. We want to have three environments (development, staging, production).
I have set up an AWS Elastic Container Registry to host docker images. Two accounts (DevOps and developers) so that Gitlab CI/CD pipeline can build and upload images when developers commit code in dev, release branch respectively.
I am not sure how to handle the developer workflow. e.g. Developers testing the microservices locally. I believe the developers have to pull the images every time they need to test one of the microservices. How will a developer know that an image was updated when some other dev has updated the AWS ECR registry.
I am confused. I would like to get some suggestions on how to support the continuous development and do the continuous release for all environments. Any suggestions or pointers to books or courses that I can get more information around this is also helpful.