./dev.sh

dev.sh é um script bash auxiliar que facilita muito o trabalho com o ambiente de desenvolvimento do Climweb.

Por padrão, executar ./dev.sh iniciará o ambiente de desenvolvimento e garantirá que os contêineres estejam sendo executados como seu usuário real.

Exemplos de uso de ./dev.sh:

$ ./dev.sh # same as the up command above but also ensures the containers run as the running user!
$ ./dev.sh --build # ups and rebuilds
$ ./dev.sh restart # stops and then ups
$ ./dev.sh restart --build # stops, builds, ups
$ ./dev.sh build_only # just builds
$ ./dev.sh dont_migrate # ups but doesn't migrate automatically on startup
$ ./dev.sh dont_migrate dont_sync dont_attach restart --build # even more flags!
$ ./dev.sh run backend manage migrate
# Any commands found after the last `./dev.sh` command will be passed to the `docker compose up` call made by dev.sh
# This lets you say do --build on the end or any other docker-compose commands using dev.sh!
$ ./dev.sh restart {EXTRA_COMMANDS_PASSED_TO_UP}  
$ ./dev.sh down # downs the env
$ ./dev.sh kill # kills (the old stop_dev.sh)
# WARNING: restart_wipe will detail ALL volumes associated with that environment 
# permanently. 
$ ./dev.sh restart_wipe --build

Por que ./dev.sh garante que os contêineres funcionem como você

No modo dev, os diretórios de controle de origem do Climweb são montados a partir do seu repositório git local nos contêineres. Ao montá-los, os contêineres verão as alterações no código-fonte e serão reconstruídos automaticamente. No entanto, se os contêineres não estiverem sendo executados como seu usuário real, eles poderão alterar acidentalmente a propriedade ou criar arquivos pertencentes ao usuário em execução dentro do contêiner. Portanto, ao executar os contêineres como seu usuário, não há chance de que seus diretórios de controle de origem tenham problemas de propriedade de arquivos. Além disso, é uma prática recomendada não executar contêineres Docker como usuário root padrão.