Closed IvoPereira closed 1 year ago
Boas. Vou experimentar implementar suporte com o Gitpod.
Preciso de ajuda.
Acho que estou bastante perto de chegar ao que é necessário para termos o Gitpod a funcionar corretamente mas tenho um problema que ainda não consegui dar a volta.
Neste momento tenho o seguinte:
tasks:
- name: Setup .env
init: cp .env.example .env
- name: Get Laravel Sail dependencies via docker
init: |
docker run --rm \-u "$(id -u):$(id -g)" \-v "$(pwd):/app" -w /app \composer:2 \composer install --ignore-platform-reqs
gp sync-done composer
- name: Execute Laravel Sail
init: gp sync-await composer
command: ./vendor/bin/sail up
#Como o "sail up" executado em cima não "para", nunca vou conseguir emitir um evento "gp sync-done"
- name: Run dev
#Este bash falha pois ele não espera pelo "sail up"
before: ./vendor/bin/sail bash
init: php artisan key:generate && php artisan storage:link
command: composer install && npm install && npm run dev
O meu problema é abrir o sail bash na altura correta para finalizar os restantes comandos.
@IvoPereira Consegues dar-me uma ajudinha?
Acho que o teu problema é questão de lançares um processo em background. https://linuxhint.com/send-process-background-linux/
Experimenta lançar o commando como ./vendor/bin/sail up & e continuar.
- name: Execute Laravel Sail
init: gp sync-await composer
command: ./vendor/bin/sail up &
Senão funcionar, aconselho a juntares isto num único comando em Run dev.
Exemplo:
- name: Run dev
#Este bash falha pois ele não espera pelo "sail up"
before: ./vendor/bin/sail bash
init: php artisan key:generate && php artisan storage:link
command: (./vendor/bin/sail up &) && composer install && npm install && npm run dev
Se é para lançar em o Sail em background, adiciona o -d ao comando.
Obrigado @raulcorreia7 e @rguedes , graças a vocês já ultrapassei este problema.
Ficou resolvido da seguinte forma:
- name: Execute Laravel Sail
init: gp sync-await composer
command: ./vendor/bin/sail up -d && gp sync-done sail-up
Efetivamente o que era necessário para passar daqui era colocar o processo em background (com o "-d").
Agora tenho um outro problema. Quando o Gitpod abre o bash do Sail, ele não executa os restantes comandos:
- name: Run dev
before: |
gp sync-await sail-up
./vendor/bin/sail bash
init: php artisan key:generate && php artisan storage:link
command: composer install && npm install && npm run dev
Ele consegue executar tudo que está no "before", porém não executa o "init" e/ou o "command".
Já estou a tentar resolver por mim mesmo, depois dou novidades.
init: ./vendor/bin/sail artisan key:generate && ./vendor/bin/sail artisan storage:link
command: ./vendor/bin/sail composer install && ./vendor/bin/sail npm install && ./vendor/bin/sail npm run dev
init: ./vendor/bin/sail artisan key:generate && ./vendor/bin/sail artisan storage:link command: ./vendor/bin/sail composer install && ./vendor/bin/sail npm install && ./vendor/bin/sail npm run dev
Boas @rguedes . Já tinha chegado a essa conclusão e consegui colocar esta parte a funcionar, obrigado por partilhares.
Agora estou com problemas com o VITE (mixed content):
Estou neste momento a tentar entender como posso mudar o link por onde ele tenta carregar os assets do vite.
Chegaste ao mesmo ponto que eu quando tentei implementar no gitpod :D Só consegui por o projecto a funcionar através do npm run prod.
Chegaste ao mesmo ponto que eu quando tentei implementar no gitpod :D Só consegui por o projecto a funcionar através do npm run prod.
Okappa. Eu vou continuar a tentar encontrar uma maneira de colocar isto a funcionar no meu lado e dou novidades assim que possível.
Chegaste ao mesmo ponto que eu quando tentei implementar no gitpod :D Só consegui por o projecto a funcionar através do npm run prod.
@rguedes Eu não tenho o comando "npm run prod" mas tenho o "npm run build", ao qual tenho o mesmo problema de mixed content também.
Vou voltar a pegar nisto noutra altura.
@HackerinoS2 Sim, enganei-me. Era run build
Conseguem enviar isto para um PR para eu dar uma vista de olhos? Para ver o que consigo tentar desbloquear?
O Vite ( ou o Node por baixo) pede q tenhamos q definir o host e porta q está a servir, independentemente de ser Gitpod.
Já vem pré configurado no Laravel, para ser no localhost... Assim, penso q isto ajuda a ir à solução.
Um para se poder mexer, ajudava claro! 😄
https://mattjennings.io/blog/how-to-enable-hmr-for-sveltekit-on-gitpod
https://github.com/gitpod-io/devx-community/blob/main/vite.config.ts
@IvoPereira O @rguedes fez um pull request primeiro do que eu, mas deixo o meu na mesma para veres: https://github.com/devpt-org/site/pull/11
Eu agora não tenho muito tempo para ver esta situação, apenas para o fim de semana.
@HackerinoS2 Parece-me que o teu pull request é uma melhor opção porque usa o docker com mysql, etc.
A minha solução é mais simples e frontend oriented, se for veres até uso sqlite como database.
Closed by #12.
Adicionar suporte para o Gitpod no projeto permitira uma rápida inicialização do ambiente de desenvolvimento.
Podemos basear a implementação numa já existente, por exemplo na que fizemos para o bot de Discord.