ifpe-cpin / maisfono

2 stars 1 forks source link

Nova rotina de deployment #41

Closed fabriciofx closed 5 years ago

fabriciofx commented 5 years ago

Conversando com @Wylianne entendi que parte do sistema será executado em PHP + MySQL e outra parte em Angular (frontend + algumas coisas de backend?). De qualquer forma, é preciso criar uma forma automatizada de realizar o deployment da aplicação. Talvez um shell script ou algo do gênero. A ideia é que a parte PHP + MySQL execute em um servidor pago que a @Wylianne tem acesso e a parte frontend (Angular) fique no GitHub Pages mesmo. IMHO, eu não sei se gosto muito desta abordagem de separar as coisas. O que vocês acham? @juniorpires @Wylianne @VictorCardoso22

juniorpires commented 5 years ago

Como vantagens da abordagem PHP+MYSQL posso destacar:

Como desvantagem existe a reimplementação do sistema de autenticação.

juniorpires commented 5 years ago

Quanto ao deploy poderia-se usar o Travis com um script semelhante ao usado no projeto em angular.

fabriciofx commented 5 years ago

@juniorpires Concordo que há mais vantagens do que desvantagens na abordagem do PHP+MYSQL. E sobre o script, podes submeter um PR?

juniorpires commented 5 years ago

Posso sim. Hoje a tarde subo o projeto que @Wylianne criou para um repositório git (eu tenho permissão para criar repositórios na conta ifpe-cpin ou tu tens que criar @fabriciofx?) e tento adaptar o script. Vou testar o deploy para uma hospedagem que contratei e posteriormente mudamos para o servidor de @Wylianne

juniorpires commented 5 years ago

Boa noite, pessoal Hoje tentei desenvolver a rotina de deploy com o Travis para o projeto PHP. Tive alguns progressos mas estou com problema para ele gerar o vendor

Além disso quando tento acessar o index do projeto dá erro 500 E tenho um outro projeto com o mesmo framework que funciona Daí tô sem saber o porquê disso

juniorpires commented 5 years ago

O script que estou usando é esse: .travis.yml

juniorpires commented 5 years ago

Consegui fazer o deploy. Qualquer push no master do projeto juniorpires/maisfono_rest faz deploy para o endereço http://jrpires.com/maisfono_rest.

Algumas questões:

fabriciofx commented 5 years ago

@juniorpires Parabéns por ter conseguido! 😄

Respondendo as suas perguntas:

  1. Pelo que eu havia entendido (me corrija se estiver enganado) parte do projeto ia ficar hospedado em um servidor PHP (que pode ser o seu ou da @Wylianne) e parte ia continuar hospedado no GitHub Pages (no caso, o frontend em Angular). É isso ou eu me enganei em algo?
  2. @Wylianne o que você acha? Há algum problema de se ficar no servidor do @juniorpires ?
VictorCardoso22 commented 5 years ago

Acho que seria melhor que tudo ficasse em um único repositório.

juniorpires commented 5 years ago

Valeu @fabriciofx .

1 - É isso mesmo. Falo do repositorio git que vai ficar o projeto PHP. Hoje o projeto PHP está dentro do projeto angular aqui no ifpe-cpin/maisfono.

Também pensei nessa questão @VictorCardoso22 . O bom dos dois projetos estarem no mesmo repositório é que fica centralizado, porém não fica confuso ter dois projetos e ainda de tecnologias diferentes em um mesmo repositório GIT? Toda vez que um dos códigos for atualizado no git, duas rotinas de deploy serão disparadas: a do angular e a do PHP.

fabriciofx commented 5 years ago

@juniorpires @VictorCardoso22

Ah, entendi. Não tem problema de ficar no mesmo lugar. Não tem problema de você ter tecnologias diferentes no mesmo repositório. Pelo contrário, é até comum. O PHP é o backend e o Angular é o frontend. O que você deve estar estranhando é o processo de deploy, pois normalmente fica tudo sob o mesmo servidor web, tanto o código PHP quanto Angular, mas tb não há problema de ficar separado. Aliás, isso também é bastante normal, vide que grandes sites espalham o conteúdo em uma CDN (imagens, JS, etc). Mas, como eu disse, sou a favor do ficar mais fácil para vocês.

juniorpires commented 5 years ago

Tranquilo. Achei estranho administrar dois projetos em um mesmo repositório. Vou então adaptar o script do travis para fazer o deploy dos dois projetos de uma vez.

fabriciofx commented 5 years ago

@juniorpires Ok!

juniorpires commented 5 years ago

Nova rotina finalizada. Agora, a cada submissão ao master são feitos os deploys para os dois servidores: ghpages (Angular) e para o servidor PHP (http://jrpires.com/mais-fono-rest/public).

Observações sobre o deploy PHP:

A chave ssh encriptada pode ser gerada seguindo essa postagem: https://github.com/dwyl/learn-travis/blob/master/encrypted-ssh-keys-deployment.md

Importante:

juniorpires commented 5 years ago

@fabriciofx acredito que essa issue já possa ser fechada. O que achas?

fabriciofx commented 5 years ago

@juniorpires Concordo. Vou fechar.