Skip to content

Um projeto em PHP que demonstra o uso dos 12 fatores para aplicações web

Notifications You must be signed in to change notification settings

iagoambrosio/projectphp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Projeto PHP - foco em infraestrutura (DevOps)

Este projeto tem como finalidade criar uma suite de aplicações
que sigam os principios dos 12 fatores para aplicações 
(The Twelve-Factor App), de forma que o repositório seja autosuficiente,
aqui deve conter todas as branchs mínimas necessárias(test, master e dev),
para um trabalho em conjunto.

Como linguagem padrão utilizaremos o PHP como core (podendo ou não existir 
integrações com aplicações escritas em outras linguagens), o intuito é subir 
uma aplicação autosufiente, modular e escalável, com aspéctos declarativos 
de forma que a manutenção seja facilitada. Estes e outros exemplos de como 
funcionam aplicações com este perfil, encontram-se no site: 
https://12factor.net/pt_br/



##################################################

Breve explicação sobre como lançar a aplicação:

##################################################

Explicando os conceitos por trás de cada aplicação:

I. Base de Código
Uma base de código com rastreamento utilizando controle de revisão, muitos deploys
II. Dependências
Declare e isole as dependências
III. Configurações
Armazene as configurações no ambiente
IV. Serviços de Apoio
Trate os serviços de apoio, como recursos ligados
V. Construa, lance, execute
Separe estritamente os builds e execute em estágios
VI. Processos
Execute a aplicação como um ou mais processos que não armazenam estado
VII. Vínculo de porta
Exporte serviços por ligação de porta
VIII. Concorrência
Dimensione por um modelo de processo
IX. Descartabilidade
Maximizar a robustez com inicialização e desligamento rápido
X. Dev/prod semelhantes
Mantenha o desenvolvimento, teste, produção o mais semelhante possível
XI. Logs
Trate logs como fluxo de eventos
XII. Processos de Admin
Executar tarefas de administração/gerenciamento como processos pontuais

#####################################################

referência adicional

https://stack.desenvolvedor.expert/appendix/docker/

#####################################################

Step 1 - A base de tudo e a história da sua aplicação

Para ter um controle da aplicação, a melhor forma (e a determinante nos dias de hoje)
é com repositórios git, diversas são as arquiteturas para se controlar uma aplicação,
vai de acordo com a complexidade dos seus serviços, entre elas técnicas como monorepos
e repositórios variados. Para o Projeto PHP, escolhi a utilização de um repositório 
único, porque irei lidar apenas com alguns serviços, não muito grandes ao ponto da 
necessidade de serem repartidos entre equipes.

Começamos criando um repositório.

git init # inicializa o repositório

git add . # adiciona todos os arquivos, neste caso, apenas este README

git commit -m "Adicionando readme, first commit" #Empacotamos as alterações e atribuimos um hash a ela

git remote add origin  https://github.com/iagoambrosio/projectphp  master # adicionamos este repositório remoto na branch master

git push -u origin master # envia as alterações para o repositório remoto na branch princial (master)

git restore --source=master . # restaura o diretório de trabalho para o estado anterior ao commit
ou
git reset --hard master # redefine o HEAD atual para o estado da branch master, tanto HEAD quanto WORKDIR são 
resetados

git reset --soft master # redefine o HEAD atual para o estado da branch master, apenas o HEAD é redefinido, não apaga arquivos

About

Um projeto em PHP que demonstra o uso dos 12 fatores para aplicações web

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published