Pflege auf Byte-Ebene
Notiz
Derzeit gibt es in diesem Repository 14 GitHub -Aktionen Workflows.
Wie man mit Nullproblemen durch totale Kontrolle lebt.
- Analysieren Sie Dienstleister, bevor Sie eine auswählen
- Überwachen Sie Ihre Dienstleister
- Arbeiten Sie eng mit Ihren Dienstanbietern zusammen
- Kennen Sie jede Software auf Ihrem Server und seinem Autor. Deinstallieren Sie alles, was nicht benötigt wird
- Überwachen Sie jeden Prozess auf Ihrem Server mit Funktionstests, nicht nur Pings
- Führen Sie QA -Tools auf jedem Byte Ihrer Git -Repositories aus
- Kennen Sie Ihre Abhängigkeiten (Pakete) und ihre Autoren
- Bereitstellen automatisch 100%
- Führen Sie Produktionsumgebungen ohne menschliche Intervention aus
- Seien Sie konservativ mit Softwareversionen beim Upgrade
Sehen Sie sich die spezielle Infrastruktur für Webanwendungen an
Unterstütze meine Arbeit
Bitte erwägen Sie, meine Arbeit zu unterstützen, wenn Sie von diesem Wissen profitieren.
Danke schön!
CI
So entwerfen und implementieren Sie kontinuierliche Integration.
In diesem Repository finden Sie einen vollständigen CI -Workflow.
- Führen Sie in einem vorgefertigten Container aus oder installieren Sie Betriebssystempakete
- Umgebungsinformationen anzeigen
- Stellen Sie Zugriffsanmeldeinformationen fest
- Versionskontrolle
- Git Committer
- Nachricht begehen
- PR -Titel
- Cache -Betriebssystem- und Programmiersprachenbibliothekspakete
- Überprüfen Sie die Kompatibilität der Programmiersprache und der Framework -Version
- Scheckpaketverwaltungskonfiguration (validieren und normalisieren)
- Überprüfen Sie veraltete Pakete und bekannte Sicherheitsanfälligkeiten
- Code erstellen
- Anwendung konfigurieren
- 0️⃣ Byte-Ebene
- Überprüfen Sie das Bit des Dateimodus ausführen
- Suchen Sie nach Nicht-ASCII-Zeichen (nicht englische Alphabete, Whitespace-Zeichen, Steuerzeichen)
- 1️⃣ Syntaxfehler
- Überprüfen Sie den Quellcode auf Syntaxfehler
- Überprüfen Sie Vorlagendateien auf Syntaxfehler
- 2 Seiten und Funktionstests ausführen
- 3️⃣ Statische Analyse
- Statische Analyse ausführen: Phpstan
- Magic Number Detektor
- Kopierpaste-Detektor
- 4️⃣ Codierungsstandards
- Überprüfen Sie den Codierungsstil
- Halten Sie sich an EditorConfig
- Codeabdeckung messen
- Überprüfen Sie die Routenmethoden (Controller von Routen)
- Prüfen Sie die Liste der verteilten Dateien
- Rechtschreibung überprüfen: Tippfehler
- Benutzerdefinierte Überprüfungen und Warnungen
- Zeigen Sie Protokolle in der CI -Ausgabe an oder laden Sie Protokolle als Artefakte hoch
- Starten Sie die CD mit SSH-INING zum eigenen Server (
restrict,command in autorized_keys und DenyUsers in SSHD.Conf) - Sensitive Daten wischen
CD
So entwerfen und implementieren Sie kontinuierliche Lieferung.
- Mögliche Einschränkungen:
- Erfolgreiche Tests
- Laufen Sie nicht auf PR-S
- unser Repo
- spezifischer Zweig
- Tag in Commit Meldung
[deploy:prod] - Nur Head Commit einsetzen
- Optionales manuelles Start (GitLab Manual Aktionen)
- Führen Sie nicht als Root -Benutzer aus
- Bereitstellen Sie die Konfiguration in einer Datei ein
- Protokollieren Sie jede Ausgabe in einer Datei, starten Sie Start und beenden Sie ihn in Syslog
- Begrenzen Sie die Ausführungszeit zeitaufwändiger Schritte (Zeitlimit)
- Optional sichern Sie Projektdateien, bevor Sie mit der Bereitstellung beginnen
- Erstellen Sie einen Bot -Benutzer auf dem Server für Git -Zugriff mit SSH -Schlüssel (
@companybot ). - Listen Sie Änderungen in aktuellen Projektdateien auf
- Überprüfen Sie den Wartungsmodus
php artisan down aktivieren - Caches löschen (Konfiguration, Routen, Anwendung, Vorlage usw.)
- Warten Sie, um Cron -Jobs und Hintergrundarbeiter nach dem Löschen von Caches zu beenden und zu deaktivieren (E -Mail an ein Programm)
- Identifizieren Sie Git -Repository und Zweigstelle
- Kasse von Commit Hash (nicht von Zweigkopf)
- Zumindest den Quellcode aus FININT FINT
- Geben Sie keine Testpakete ein
- Aktivieren Sie die Produktionsoptimierungen im Paketmanager
- Code erstellen
- Datenbankmigrationen ausführen
- Deaktivieren Sie den Wartungsmodus
- Caches bevölkern (Anwendung, Opcache,
wp rewrite flush ) - Führen Sie mindestens 1 grundlegende Funktions- oder Unit -Test aus (z. B. Protokoll in oder Anzeigen von Dashboard).
- Überprüfen Sie die HTML -Ausgabe
- Spezielle Sudo-Konfiguration zum Nachladen von PHP-FPM oder Cachetool
- Warnung über das Versagen
- "War für x Sekunden unten"
- Senden Sie E -Mail-, Slack-, Trello- oder Google -Treffpunkt
Statische Analyse mit Phpstan
- Erweiterungen
-
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 - Sternte Repositories