Cuidado no nível de byte
Observação
Atualmente, existem 14 fluxos de trabalho de ações do GitHub neste repositório.
Como viver com zero problemas através do controle total.
- Analise os provedores de serviços antes de escolher um
- Monitore seus provedores de serviço
- Colaborar de perto com seus provedores de serviço
- Conheça todos os softwares em seu servidor e seu autor; desinstalar qualquer coisa que não seja necessária
- Monitore todos os processos em seu servidor com testes funcionais, não apenas pings
- Execute ferramentas de controle de qualidade em todos os bytes de seus repositórios Git
- Conheça suas dependências (pacotes) e seus autores
- Implantar 100% automaticamente
- Executar ambientes de produção sem intervenção humana
- Seja conservador com versões de software ao atualizar
Consulte Infraestrutura especial para aplicativos da Web
Apoie meu trabalho
Por favor, considere apoiar meu trabalho se você se beneficiar desse conhecimento.
Obrigado!
CI
Como projetar e implementar integração contínua.
Você encontra um fluxo de trabalho de IC completo neste repositório.
- Execute em um contêiner pré -fabricado ou instale pacotes do sistema operacional
- Exibir informações do ambiente
- Defina credenciais de acesso
- Controle de versão
- Compromisso Git
- Cometer mensagem
- Título de relações públicas
- Cache OS e pacotes de biblioteca de linguagem de programação
- Verifique a linguagem de programação e a compatibilidade da versão da estrutura
- Verifique a configuração do gerenciamento de pacotes (Validar e normalizar)
- Verifique pacotes desatualizados e vulnerabilidades de segurança conhecidas
- Construir código
- Configure o aplicativo
- 0️⃣ Nível de byte
- Verifique o bit do modo de arquivo execute
- Procure caracteres não-ASCII (alfabetos não ingleses, personagens de espaço em branco, caracteres de controle)
- 1️⃣ Erros de sintaxe
- Verifique o código -fonte para erros de sintaxe
- Verifique os arquivos do modelo para erros de sintaxe
- 2️⃣ Executar unidade e testes funcionais
- 3️⃣ Análise estática
- Run Análise estática: Phpstan
- Detector de números mágicos
- Detector de cópia-cola
- 4️⃣ Padrões de codificação
- Verifique o estilo de codificação
- Adira ao EditorConfig
- Meça a cobertura do código
- Verifique os métodos de rota (controladores de rotas)
- Verifique a lista de arquivos distribuídos
- Verifique a ortografia: erros de digitação
- Verificações e avisos personalizados
- Exibir logs na saída de IC ou fazer upload de toras como artefatos
- Inicie o CD por ssh-ing to possui servidor (
restrict,command em autorizado_keys e DenyUsers em sshd.conf) - Limpe dados sensíveis
CD
Como projetar e implementar entrega contínua.
- Possíveis restrições:
- testes bem -sucedidos
- Não corra no PR-S
- Nosso repo
- ramo específico
- Tag em Mensagem de Commit
[deploy:prod] - implantar apenas comprometimento da cabeça
- Início do manual opcional (ações manuais do GitLab)
- Não corra como usuário root
- Mantenha a configuração de implantação em um arquivo
- Registre todas as saídas em um arquivo, o log e termine no syslog
- Limite o tempo de execução das etapas demoradas (tempo limite)
- Opcionalmente backup de arquivos de projeto antes de começar a implantar
- Crie um usuário de bot no servidor para acesso Git com a chave SSH (
@companybot ) - Listar alterações nos arquivos atuais do projeto
- Verifique o modo de manutenção, ligue o modo de manutenção
php artisan down cobrindo Recursos estáticos, Page, Ajax e API Solicys - Caches claros (configuração, rotas, aplicação, modelo etc.)
- Aguarde para terminar e desativar trabalhos de Cron e trabalhadores de fundo após a limpeza de caches (email para um programa)
- Identifique o repositório Git e a filial
- CHECHUT BY CONMIT HASH (não por cabeça de filial)
- Pelo menos fie o código -fonte
- Não implante pacotes de teste
- Ativar otimizações de produção no gerenciador de pacotes
- Construir código
- Executar migrações de banco de dados
- Desligue o modo de manutenção
- Preparar caches (aplicação, opcache,
wp rewrite flush ) - Execute pelo menos 1 teste funcional ou unitário básico (por exemplo, faça login ou painel de exibição)
- Verifique a saída HTML
- Configuração especial do sudo para recarregar o PHP-FPM ou CACHETOOL
- Alerta sobre a falha
- "Estava em baixo por x segundos"
- Envie uma notificação por e -mail, folga, trello ou hangouts do Google
Análise estática com Phpstan
- Extensões
-
phpstan/phpstan-strict-rules -
phpstan/phpstan-deprecation-rules -
dave-liddament/sarb -
ekino/phpstan-banned-code -
tomasvotruba/type-coverage -
pepakriz/phpstan-exception-rules -
canvural/larastan-strict-rules -
schlndh/maria-stan - Repositórios estrelados