Soins au niveau des octets
Note
Actuellement, il y a 14 flux de travail GitHub Actions dans ce référentiel.
Comment vivre avec aucun problème par le contrôle total.
- Analyser les fournisseurs de services avant d'en choisir un
- Surveillez vos fournisseurs de services
- Collaborez en étroite collaboration avec vos fournisseurs de services
- Connaissez chaque logiciel sur votre serveur et son auteur; désinstaller tout ce qui n'est pas nécessaire
- Surveillez chaque processus sur votre serveur avec des tests fonctionnels, pas seulement des pings
- Exécutez des outils QA sur chaque octet de vos référentiels Git
- Connaissez vos dépendances (packages) et leurs auteurs
- Déploier 100% automatiquement
- Exécuter des environnements de production sans intervention humaine
- Être conservateur avec les versions logicielles lors de la mise à niveau
Voir infrastructure spéciale pour les applications Web
Soutenir mon travail
Veuillez envisager de soutenir mon travail si vous bénéficiez de ces connaissances.
Merci!
CI
Comment concevoir et implémenter une intégration continue.
Vous trouvez un flux de travail CI complet dans ce référentiel.
- Exécuter dans un conteneur pré-même ou installer des packages de système d'exploitation
- Afficher les informations sur l'environnement
- Définir les informations d'identification d'accès
- Contrôle de version
- Commiter Git
- Commettre un message
- Titre de relations publiques
- Cache OS et packages de bibliothèque de langues de programmation
- Vérifiez la compatibilité du langage de programmation et de la version du cadre
- Vérifier la configuration de la gestion des packages (valider et normaliser)
- Consultez des forfaits et des vulnérabilités de sécurité connues
- Code de construction
- Configurer l'application
- 0️⃣ au niveau de l'octet
- Vérifier l'exécution du bit du mode de fichier
- Recherchez des personnages non ASCII (alphabets non anglais, caractères blancs, caractères de contrôle)
- 1️⃣ Erreurs de syntaxe
- Vérifiez le code source pour les erreurs de syntaxe
- Vérifiez les fichiers de modèle pour les erreurs de syntaxe
- 2️⃣ Exécuter l'unité et les tests fonctionnels
- 3️⃣ Analyse statique
- Exécuter une analyse statique: phpstan
- Détecteur de nombres magiques
- Détecteur de copie-coller
- 4️⃣ Normes de codage
- Vérifier le style de codage
- Adhérer à l'éditeur-config
- Mesurer la couverture du code
- Vérifiez les méthodes d'itinéraire (contrôleurs des itinéraires)
- Vérifier la liste des fichiers distribués
- Vérifier l'orthographe: fautes de frappe
- Vérification et avertissements personnalisés
- Afficher les journaux dans la sortie CI ou télécharger des journaux en tant qu'artefacts
- Démarrer le CD par SSH-ing pour posséder un serveur (
restrict,command dans autorisé_keys et DenyUsers dans sshd.conf) - Essuyez les données sensibles
CD
Comment concevoir et implémenter la livraison continue.
- Contraintes possibles:
- Tests réussis
- Ne pas courir sur PR-S
- Notre repo
- branche spécifique
- Tag dans le message de validation
[deploy:prod] - Déployer la tête commit uniquement
- Démarrage manuel facultatif (actions manuelles GitLab)
- Ne pas exécuter en tant qu'utilisateur root
- Continuez à déploier la configuration dans un fichier
- Enregistrer chaque sortie dans un fichier, le journal de départ et de la fin à Syslog
- Limiter le temps d'exécution des étapes de temps (temps mort)
- Facultativement sauvegarder les fichiers du projet avant de commencer à déployer
- Créez un utilisateur de BOT sur le serveur pour l'accès GIT avec la touche SSH (
@companybot ) - Liste des modifications dans les fichiers du projet actuels
- Vérifiez le mode de maintenance, activez le mode de maintenance
php artisan down couvrant les demandes de ressources statiques, Page, Ajax et API - Effacer les caches (configuration, itinéraires, application, modèle, etc.)
- Attendez pour terminer et désactiver les emplois Cron et les travailleurs de l'arrière-plan après avoir effacé les caches (e-mail tué à un programme)
- Identifier le référentiel et la branche GIT
- Découvrez par commit Hash (pas par Branch Head)
- Au moins peluchez le code source
- Ne déploiez pas de packages de test
- Activer les optimisations de production dans Package Manager
- Code de construction
- Exécuter les migrations de la base de données
- Désactiver le mode de maintenance
- Remplir les caches (application, OPCache,
wp rewrite flush ) - Exécutez au moins 1 test fonctionnel ou unitaire de base (par exemple, connexion ou tableau de bord d'affichage)
- Vérifier la sortie HTML
- Configuration sudo spéciale pour le rechargement PHP-FPM ou Cachetool
- Alerte sur l'échec
- "Était en panne pendant x secondes"
- Envoyer une notification par e-mail, Slack, Trello ou Google
Analyse statique avec phpstan
- Extensions
-
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 - Des référentiels joués