Atención a nivel de byte
Nota
Actualmente hay 14 flujos de trabajo de GitHub Actions en este repositorio.
Cómo vivir con cero problemas a través del control total.
- Analizar proveedores de servicios antes de elegir uno
- Monitoree a sus proveedores de servicios
- Colaborar estrechamente con sus proveedores de servicios
- Conozca cada pieza de software en su servidor y su autor; desinstalar todo lo que no sea necesario
- Monitorear cada proceso en su servidor con pruebas funcionales, no solo pings
- Ejecute herramientas de control de calidad en cada byte de sus repositorios Git
- Conozca sus dependencias (paquetes) y sus autores
- Desplegar 100% automáticamente
- ENTRACIONES DE PRODUCCIÓN ENCENDIDO sin intervención humana
- Ser conservador con versiones de software al actualizar
Ver Infraestructura especial para aplicaciones web
Apoya mi trabajo
Considere apoyar mi trabajo si se beneficia de este conocimiento.
¡Gracias!
CI
Cómo diseñar e implementar la integración continua.
Encuentra un flujo de trabajo CI completo en este repositorio.
- Ejecutar en un contenedor prefabricado o instalar paquetes OS
- Mostrar información sobre el entorno
- Establecer credenciales de acceso
- Control de la versión
- Git Commisor
- Mensaje de compromiso
- Título de relaciones públicas
- PAQUETES DE LA BIBLIOTECA DE INIGLAMA DE CACHE OS y de programación
- Verifique la compatibilidad de la versión del lenguaje y el marco de la versión del marco
- Verifique la configuración de gestión de paquetes (validar y normalizar)
- Verifique paquetes obsoletos y vulnerabilidades de seguridad conocidas
- Código de construcción
- Configurar la aplicación
- 0 pasva⃣ Byte-nivel
- Verifique el bit de modo de archivo ejecutar
- Busque caracteres que no sean ASCII (alfabetos no ingleses, caracteres en blanco, caracteres de control)
- 1mintar errores de sintaxis
- Verifique el código fuente de los errores de sintaxis
- Verifique los archivos de plantilla en busca de errores de sintaxis
- 2 pasE⃣ Ejecutar la unidad y las pruebas funcionales
- Análisis estático de 3️⃣
- Ejecutar análisis estático: phpstan
- Detector de números mágicos
- Detector de copias
- 4️⃣ Estándares de codificación
- Verifique el estilo de codificación
- Adherirse a EditorConfig
- Medir cobertura del código
- Verifique los métodos de ruta (controladores de rutas)
- Verifique la lista de archivos distribuidos
- Verifique la ortografía: errores tipográficos
- Cheques y advertencias personalizados
- Mostrar registros en los registros de salida o carga de CI como artefactos
- Inicie el CD por SSH-ing a su propio servidor (
restrict,command en autorized_keys y DenyUsers en sshd.conf) - Borrar datos confidenciales
CD
Cómo diseñar e implementar la entrega continua.
- Posibles restricciones:
- Pruebas exitosas
- No corras en PR-S
- Nuestro repositorio
- rama específica
- Etiqueta en el mensaje de confirmación
[deploy:prod] - Implementar confirmación de cabeza solamente
- Inicio manual opcional (acciones manuales de gitlab)
- No se ejecute como usuario root
- Mantenga la configuración de implementación en un archivo
- Registre cada salida a un archivo, registre el inicio y finalice a Syslog
- Limite la ejecución del tiempo de los pasos que consumen el tiempo (tiempo de espera)
- Opcionalmente, haga una copia de seguridad de los archivos del proyecto antes de comenzar a implementar
- Cree un usuario de BOT en el servidor para el acceso GIT con la tecla SSH (
@companybot ) - Lista de cambios en los archivos del proyecto actuales
- Verifique el modo de mantenimiento, active el modo de mantenimiento
php artisan down cubriendo las solicitudes de recursos estáticos, página, AJAX y API - Clear cachés (configuración, rutas, aplicación, plantilla, etc.)
- Espere para terminar y deshabilitar los trabajos de Cron y los trabajadores de antecedentes después de borrar cachés (correo electrónico con un programa)
- Identificar el repositorio y la rama de Git
- Vea el hash de Commit (no por la cabeza de la rama)
- Al menos pellar el código fuente
- No implementa paquetes de prueba
- Habilitar optimizaciones de producción en el administrador de paquetes
- Código de construcción
- Ejecutar migraciones de bases de datos
- Apague el modo de mantenimiento
- Popular cachés (aplicación, opcache,
wp rewrite flush ) - Ejecute al menos 1 prueba funcional o unitaria básica (por ejemplo, Iniciar sesión o Pantalla Panel de visualización)
- Verifique la salida HTML
- Configuración especial de sudo para recargar PHP-FPM o Cachetool
- Alerta sobre la falla
- "Estuvo abajo por x segundos"
- Enviar correo electrónico, Slack, Trello o Google Hangouts Notificación
Análisis estático con phpstan
- Extensiones
-
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 - Repositorios protagonizados