<p>Actually you need to implement per feature branch deployment. Because development environment use for testing app before QA.
And feature branch deployment is very difficult to implement especialy at the begginging of devops. </p>

<p>May be at start will be enough to use docker-compose to build latest version of developer's application. On their localhost.</p>

CC BY-SA 4.0
2019-10-10T19:20:07.697Z
2019-10-10T19:20:07.697Z
Vasiliy  Shakhunov
<p>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). </p>

<p>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. </p>

<p>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.</p>

<p>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.</p>

CC BY-SA 4.0
2019-06-30T09:47:22.510Z
Hi! I can easily understand your confusion - this is normal at the beginning of a DevOps journey. However, this same confusion makes it very difficult to answer such a necessarily vague question. I would suggest reading https://continuousdelivery.com/ to get a grounding on the principles. There is no single way to do DevOps, but you can aim for something concrete -- your version of a delivery pipeline -- and then identify blockers in your tools and processes which inhibit achieving it. Those would be easier questions to ask and answer.
Bruce Becker
<docker><docker-compose><ruby-on-rails>
Ruby and Rest service in Docker
CodeWeed
# Ruby and Rest service in Docker

(Asked by: username_0 on 2019-06-27)

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.

**Tags:** docker, docker-compose, ruby-on-rails

> **Comments:**
> **username_1**: Hi! I can easily understand your confusion - this is normal at the beginning of a DevOps journey. However, this same confusion makes it very difficult to answer such a necessarily vague question. I would suggest reading https://continuousdelivery.com/ to get a grounding on the principles. There is no single way to do DevOps, but you can aim for something concrete -- your version of a delivery pipeline -- and then identify blockers in your tools and processes which inhibit achieving it. Those would be easier questions to ask and answer.  

---

## 1 answers

### Answer by username_2 on 2019-10-10. Score: 1

Actually you need to implement per feature branch deployment. Because development environment use for testing app before QA.
And feature branch deployment is very difficult to implement especialy at the begginging of devops.

May be at start will be enough to use docker-compose to build latest version of developer's application. On their localhost.


---

