Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup docker à la façon evilmartians, avec dip en lanceur #624

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

jbfeldis
Copy link
Contributor

WIP : à tester

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

Je n'arrive pas à comprendre ce que tout ce code ajoute hormis dip, qui aurait pu juste être installé et configuré non ?

@jbfeldis
Copy link
Contributor Author

dip ça semble cool, mais il y a surtout la config docker qui potentiellement pourrait marcher "mieux"

est-ce que t'arrives à faire:

dip provision
dip rspec
# et potentiellement 
dip cucumber

y'a quand même des histoires de setup de db de test j'ai l'impression 🤔

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

dip ça semble cool, mais il y a surtout la config docker qui potentiellement pourrait marcher "mieux"

De ce que je comprends de la config c'est qu'on aurait 1 container vs N containers. Je ne vois pas réellement l'intérêt.

est-ce que t'arrives à faire:

dip provision
dip rspec
# et potentiellement 
dip cucumber

y'a quand même des histoires de setup de db de test j'ai l'impression 🤔

bundle
dip
> command not found

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

(j'ai installé dip du coup)

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

16:24 skelz0r@h4d35 ~/work/dinum/data_pass% dip rspec                                                    [chores/improve_docker][3.3.6]
[+] Creating 2/0
 ✔ Container datapass-redis-1     Running                                                                                          0.0s
 ✔ Container datapass-postgres-1  Running                                                                                          0.0s

An error occurred while loading rails_helper.
Failure/Error: ActiveRecord::Migration.maintain_test_schema!

ActiveRecord::NoDatabaseError:
  We could not find your database: datapass_test. Available database configurations can be found in config/database.yml.

  To resolve this error:

  - Did you not create the database, or did you delete it? To create the database, run:

      bin/rails db:create

  - Has the database name changed? Verify that config/database.yml contains the correct database name.

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

dip.yml L81 ne crée pas la db de tests, faut unset RAILS_ENV on top de la config et mettre celle pertinente à chaque étape

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

J'arrive toujours pas à comprendre pourquoi il y a un .dockerdev, on n'a pas prévu de build du docker pour la prod donc en vrai.. c'est juste faire un mv de l'existant ..?

@jbfeldis
Copy link
Contributor Author

je comprends quand même pas pour le RAILS_ENV parce que rails db:create sur RAILS_ENV=development devrait créer la base de test

et le pour le .dockerdev c'est parce qu'ils utilisent ça en production, donc c'est la même recette, moi j'ai utilisé le generateur ici https://github.com/evilmartians/ruby-on-whales

et pour le coup le détail technique de Docker m'importe peu, on pourrait bouger leurs fichier de config si ça te choque mais je vois pas l'intérêt
par contre j'aimerais voir si:

  1. ça change qqch niveau benchmark (pas que les tests, le temps de démarrage du server ou même d'une console)
  2. si ça marche pareil chez tlm
  3. si dip permet de faire les choses de manière plus "naturelle" qu'avec make

@skelz0r
Copy link
Member

skelz0r commented Dec 20, 2024

Je peux répondre à tes questions:

  1. Non, l'image est plus grosse, mais ça sera négligeable ;
  2. Oui, c'est le concept de Docker (sinon clairement faut jarter) ;
  3. Je pense que c'est une question d'affinité, perso du makefile j'en fais depuis des années c'est ~simple, mais dip c'est du yaml ça me va j'aime bien aussi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants