Dockerizar y deployar tu app a AWS EC2!

43 views
Skip to first unread message

Mariano Matayoshi

unread,
Sep 11, 2017, 11:11:08 AM9/11/17
to rub...@googlegroups.com
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Saludos!


--
Mariano Matayoshi

Abel Osorio

unread,
Sep 11, 2017, 11:14:18 AM9/11/17
to rub...@googlegroups.com
Muy bueno!!

--
Mariano Matayoshi

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Emanuel Friedrich

unread,
Sep 11, 2017, 11:15:13 AM9/11/17
to rub...@googlegroups.com
Hola Mariano. 

Genial. 

Buscaba algo así, con el agregado de la integración continua. Pero es lo de menos, ya que tengo en mis apps la CI pero aún no con Docker, así que me viene de lujo esto

--

Martin Sarsale

unread,
Sep 11, 2017, 11:22:40 AM9/11/17
to rub...@googlegroups.com
On Mon, Sep 11, 2017 at 12:11 PM Mariano Matayoshi <matayosh...@gmail.com> wrote:
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Felicitaciones :)
A nosotros algo que nos traba es 'que hacer con las gemas que están en repos privados'; a saber, cuando se está construyendo la imagen no estan las credenciales de SSH para checkoutear ese el repo donde estan.

Vimos varias opciones; algunas de meter las credenciales de SSH en la imágen; luego borrarlas y squashear el resultado; pero no estaban muy buenas.
Otra que hacemos es traer las gemas ANTES de hacker `docker build` pero es un hack..

Alguien tiene una solución definitiva a esto?

Alvaro Gil

unread,
Sep 11, 2017, 11:46:12 AM9/11/17
to rub...@googlegroups.com
Martin, si usas builds automatizados en cada push de X branch o Y tag, si las mismas credenciales que autentican a Github-2-Docker tienen acceso al repo privado no hay problema. No tengo muchos detalles para darte de como lo hice porque fue hace mucho tiempo pero en este momento tengo varias imágenes que se construyen tirando de repos privados como dependencias.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

Martin Sarsale

unread,
Sep 11, 2017, 11:52:14 AM9/11/17
to rub...@googlegroups.com
mmm.. interesante, no había visto github-2-docker, voy a entrarle por ahí.

gracias!

Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Alvaro Gil

unread,
Sep 11, 2017, 1:23:16 PM9/11/17
to rub...@googlegroups.com
github-2-docker me referia a la integración no algo en particular :D

El 11 de septiembre de 2017, 12:52, Martin Sarsale<mar...@malditainternet.com> escribió:
mmm.. interesante, no había visto github-2-docker, voy a entrarle por ahí.

gracias!
On Mon, Sep 11, 2017 at 12:46 PM Alvaro Gil <zeva...@gmail.com> wrote:
Martin, si usas builds automatizados en cada push de X branch o Y tag, si las mismas credenciales que autentican a Github-2-Docker tienen acceso al repo privado no hay problema. No tengo muchos detalles para darte de como lo hice porque fue hace mucho tiempo pero en este momento tengo varias imágenes que se construyen tirando de repos privados como dependencias.

El 11 de septiembre de 2017, 12:21, Martin Sarsale<martin@malditainternet.com> escribió:
On Mon, Sep 11, 2017 at 12:11 PM Mariano Matayoshi <matayosh...@gmail.com> wrote:
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Felicitaciones :)
A nosotros algo que nos traba es 'que hacer con las gemas que están en repos privados'; a saber, cuando se está construyendo la imagen no estan las credenciales de SSH para checkoutear ese el repo donde estan.

Vimos varias opciones; algunas de meter las credenciales de SSH en la imágen; luego borrarlas y squashear el resultado; pero no estaban muy buenas.
Otra que hacemos es traer las gemas ANTES de hacker `docker build` pero es un hack..

Alguien tiene una solución definitiva a esto?

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

Martin Sarsale

unread,
Sep 11, 2017, 2:12:41 PM9/11/17
to rub...@googlegroups.com
ah :)

claro, pero eso es lo que no quiero hacer:

$ git pull # tiene mis credenciales
$ docker build [...] # acá adentro NO están mis credenciales de ssh; cuando quiere hacer `git pull` de las gemas privadas, tira un error.

puedo hacer:

$ git pull # tiene mis creds
$ bundle package --all # tiene mis creds
$ docker build [...] # no necesita mis creds, porque lee las gemas del directorio local

PERO tengo que tener instalado bundler en el HOST donde estoy armando la imagen;

Quizás tengo que hacer un flow de github-2-docker (je) donde todos estos ascos queden empaquetados. 
Digamos, olvidarme de como está hecha la salchicha :)


On Mon, Sep 11, 2017 at 2:23 PM Alvaro Gil <zeva...@gmail.com> wrote:
github-2-docker me referia a la integración no algo en particular :D
El 11 de septiembre de 2017, 12:52, Martin Sarsale<mar...@malditainternet.com> escribió:
mmm.. interesante, no había visto github-2-docker, voy a entrarle por ahí.

gracias!
On Mon, Sep 11, 2017 at 12:46 PM Alvaro Gil <zeva...@gmail.com> wrote:
Martin, si usas builds automatizados en cada push de X branch o Y tag, si las mismas credenciales que autentican a Github-2-Docker tienen acceso al repo privado no hay problema. No tengo muchos detalles para darte de como lo hice porque fue hace mucho tiempo pero en este momento tengo varias imágenes que se construyen tirando de repos privados como dependencias.

El 11 de septiembre de 2017, 12:21, Martin Sarsale<mar...@malditainternet.com> escribió:
On Mon, Sep 11, 2017 at 12:11 PM Mariano Matayoshi <matayosh...@gmail.com> wrote:
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Felicitaciones :)
A nosotros algo que nos traba es 'que hacer con las gemas que están en repos privados'; a saber, cuando se está construyendo la imagen no estan las credenciales de SSH para checkoutear ese el repo donde estan.

Vimos varias opciones; algunas de meter las credenciales de SSH en la imágen; luego borrarlas y squashear el resultado; pero no estaban muy buenas.
Otra que hacemos es traer las gemas ANTES de hacker `docker build` pero es un hack..

Alguien tiene una solución definitiva a esto?

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.

Pablo Rozanski

unread,
Sep 11, 2017, 2:14:28 PM9/11/17
to rub...@googlegroups.com
nosotros usamos gemfury para evitarnos este problema.

2017-09-11 15:12 GMT-03:00 Martin Sarsale <mar...@malditainternet.com>:
ah :)

claro, pero eso es lo que no quiero hacer:

$ git pull # tiene mis credenciales
$ docker build [...] # acá adentro NO están mis credenciales de ssh; cuando quiere hacer `git pull` de las gemas privadas, tira un error.

puedo hacer:

$ git pull # tiene mis creds
$ bundle package --all # tiene mis creds
$ docker build [...] # no necesita mis creds, porque lee las gemas del directorio local

PERO tengo que tener instalado bundler en el HOST donde estoy armando la imagen;

Quizás tengo que hacer un flow de github-2-docker (je) donde todos estos ascos queden empaquetados. 
Digamos, olvidarme de como está hecha la salchicha :)

On Mon, Sep 11, 2017 at 2:23 PM Alvaro Gil <zeva...@gmail.com> wrote:
github-2-docker me referia a la integración no algo en particular :D
El 11 de septiembre de 2017, 12:52, Martin Sarsale<martin@malditainternet.com> escribió:
mmm.. interesante, no había visto github-2-docker, voy a entrarle por ahí.

gracias!
On Mon, Sep 11, 2017 at 12:46 PM Alvaro Gil <zeva...@gmail.com> wrote:
Martin, si usas builds automatizados en cada push de X branch o Y tag, si las mismas credenciales que autentican a Github-2-Docker tienen acceso al repo privado no hay problema. No tengo muchos detalles para darte de como lo hice porque fue hace mucho tiempo pero en este momento tengo varias imágenes que se construyen tirando de repos privados como dependencias.

El 11 de septiembre de 2017, 12:21, Martin Sarsale<martin@malditainternet.com> escribió:
On Mon, Sep 11, 2017 at 12:11 PM Mariano Matayoshi <matayosh...@gmail.com> wrote:
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Felicitaciones :)
A nosotros algo que nos traba es 'que hacer con las gemas que están en repos privados'; a saber, cuando se está construyendo la imagen no estan las credenciales de SSH para checkoutear ese el repo donde estan.

Vimos varias opciones; algunas de meter las credenciales de SSH en la imágen; luego borrarlas y squashear el resultado; pero no estaban muy buenas.
Otra que hacemos es traer las gemas ANTES de hacker `docker build` pero es un hack..

Alguien tiene una solución definitiva a esto?

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Alvaro Gil

unread,
Sep 11, 2017, 2:23:04 PM9/11/17
to rub...@googlegroups.com
El método del que te hablo no requiere que pongas ninguna credencial en el Dockerfile o durante el proceso de build. El flujo es mas o menos...

- pusheas a github
- github le notifica a docker
- docker hace pull del repo
- docker hace el build

la única condición es que la autorización que le diste a docker para hacer builds automáticos de un repo determinado también tenga acceso a los repos "vendoreados", submodulos etc. Te aconsejo que crees un repo de prueba en GH y otro en Docker y que desde docker solicites autorización a GH para probar.

Saludos!

El 11 de septiembre de 2017, 15:12, Martin Sarsale<mar...@malditainternet.com> escribió:
ah :)

claro, pero eso es lo que no quiero hacer:

$ git pull # tiene mis credenciales
$ docker build [...] # acá adentro NO están mis credenciales de ssh; cuando quiere hacer `git pull` de las gemas privadas, tira un error.

puedo hacer:

$ git pull # tiene mis creds
$ bundle package --all # tiene mis creds
$ docker build [...] # no necesita mis creds, porque lee las gemas del directorio local

PERO tengo que tener instalado bundler en el HOST donde estoy armando la imagen;

Quizás tengo que hacer un flow de github-2-docker (je) donde todos estos ascos queden empaquetados. 
Digamos, olvidarme de como está hecha la salchicha :)

On Mon, Sep 11, 2017 at 2:23 PM Alvaro Gil <zeva...@gmail.com> wrote:
github-2-docker me referia a la integración no algo en particular :D
El 11 de septiembre de 2017, 12:52, Martin Sarsale<martin@malditainternet.com> escribió:
mmm.. interesante, no había visto github-2-docker, voy a entrarle por ahí.

gracias!
On Mon, Sep 11, 2017 at 12:46 PM Alvaro Gil <zeva...@gmail.com> wrote:
Martin, si usas builds automatizados en cada push de X branch o Y tag, si las mismas credenciales que autentican a Github-2-Docker tienen acceso al repo privado no hay problema. No tengo muchos detalles para darte de como lo hice porque fue hace mucho tiempo pero en este momento tengo varias imágenes que se construyen tirando de repos privados como dependencias.

El 11 de septiembre de 2017, 12:21, Martin Sarsale<martin@malditainternet.com> escribió:
On Mon, Sep 11, 2017 at 12:11 PM Mariano Matayoshi <matayosh...@gmail.com> wrote:
Gente, hace no mucho dockerize y deploye mi app a los servers de amazon. Les dejo el link, espero que le sirva a alguno!
Si necesitan una mano, avisen no más.

Felicitaciones :)
A nosotros algo que nos traba es 'que hacer con las gemas que están en repos privados'; a saber, cuando se está construyendo la imagen no estan las credenciales de SSH para checkoutear ese el repo donde estan.

Vimos varias opciones; algunas de meter las credenciales de SSH en la imágen; luego borrarlas y squashear el resultado; pero no estaban muy buenas.
Otra que hacemos es traer las gemas ANTES de hacker `docker build` pero es un hack..

Alguien tiene una solución definitiva a esto?

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Alvaro

Alvaro Gil

unread,
Sep 29, 2017, 9:27:37 AM9/29/17
to rub...@googlegroups.com
Hola Pablo,

Justo ayer ayude a un compañero con este tema así que lo tengo más fresco como para explicarlo mejor.

¿Cómo hacer que un build de Docker incluya dependencias de repos de git privados?

- Crear un automated build en Docker.
- Integrar el repo de Docker con algún repo en Github.
- Docker repo -> Build Settings -> Copiar SSH public key debajo del todo.
- Crear un usuario "dummy" en Github o usar uno existente que tenga acceso a todas las dependencias privadas que el build de Docker va a usar.
- Logeado con ese usuario en GH ir a https://github.com/settings/keys
- Agregar SSH public key del repo de Docker.
- Push al repo integrado con Docker.

Para que funcione la URL de la dependencia en el package manager que estes usando tiene que ser una variante de algun protocolo que use ssh, logicamente http no te va a poder autenticar, a no ser que hardcodes un token en tu lista de dependencias lo cual es una mala practica y es lo que se esta tratando de evitar.

El 11 de septiembre de 2017, 15:22, Alvaro Gil<zeva...@gmail.com> escribió:
El método del que te hablo no requiere que pongas ninguna credencial en el Dockerfile o durante el proceso de build. El flujo es mas o menos...

- pusheas a github
- github le notifica a docker
- docker hace pull del repo
- docker hace el build

la única condición es que la autorización que le diste a docker para hacer builds automáticos de un repo determinado también tenga acceso a los repos "vendoreados", submodulos etc. Te aconsejo que crees un repo de prueba en GH y otro en Docker y que desde docker solicites autorización a GH para probar.

Saludos!



--
Alvaro
Reply all
Reply to author
Forward
0 new messages