Perawatan tingkat byte
Catatan
Saat ini ada 14 alur kerja tindakan gitub di repositori ini.
Cara hidup dengan nol masalah melalui kontrol total.
- Menganalisis penyedia layanan sebelum Anda memilih satu
- Pantau Penyedia Layanan Anda
- Berkolaborasi erat dengan penyedia layanan Anda
- Ketahui setiap perangkat lunak di server Anda dan penulisnya; uninstall apa pun yang tidak diperlukan
- Pantau setiap proses di server Anda dengan tes fungsional, bukan hanya ping
- Jalankan alat QA di setiap byte repositori git Anda
- Ketahui Ketergantungan Anda (Paket) dan Penulisnya
- Menggunakan 100% secara otomatis
- Jalankan lingkungan produksi tanpa intervensi manusia
- Menjadi konservatif dengan versi perangkat lunak saat meningkatkan
Lihat Infrastruktur Khusus untuk Aplikasi Web
Mendukung pekerjaan saya
Harap pertimbangkan mendukung pekerjaan saya jika Anda mendapat manfaat dari pengetahuan ini.
Terima kasih!
Ci
Cara merancang dan mengimplementasikan integrasi berkelanjutan.
Anda menemukan alur kerja CI lengkap di repositori ini.
- Jalankan dalam wadah premade atau instal paket OS
- Menampilkan informasi lingkungan
- Tetapkan kredensial akses
- Kontrol Versi
- Git Committer
- Melakukan pesan
- Judul PR
- Paket Perpustakaan Cache OS dan Bahasa Pemrograman
- Periksa kompatibilitas bahasa dan kerangka kerja pemrograman
- Periksa Konfigurasi Manajemen Paket (Validasi & Normalisasi)
- Periksa paket yang sudah ketinggalan zaman dan kerentanan keamanan yang diketahui
- Bangun kode
- Konfigurasikan Aplikasi
- 0anding level byte
- Periksa bit mode file jalankan bit
- Cari karakter non-ASSAS (huruf non-Inggris, karakter whitespace, karakter kontrol)
- Kesalahan Sintaks 1️⃣
- Periksa kode sumber untuk kesalahan sintaksis
- Periksa file template untuk kesalahan sintaksis
- 2️⃣ Jalankan unit dan tes fungsional
- 3️⃣ analisis statis
- Jalankan analisis statis: phpstan
- Detektor Nomor Sihir
- Detektor Copy-Paste
- Standar pengkodean 4️⃣
- Periksa gaya pengkodean
- Melekat pada editorconfig
- Ukur cakupan kode
- Periksa metode rute (pengontrol rute)
- Periksa daftar file terdistribusi
- Periksa ejaan: kesalahan ketik
- Pemeriksaan dan peringatan khusus
- Tampilkan log dalam output CI atau unggah log sebagai artefak
- Mulai CD dengan ssh-ing untuk memiliki server (
restrict,command di otorisasi_keys dan DenyUsers di sshd.conf) - Bersihkan data sensitif
CD
Cara merancang dan mengimplementasikan pengiriman berkelanjutan.
- Kemungkinan batasan:
- Tes yang berhasil
- Jangan lari di PR-S
- repo kami
- Cabang tertentu
- Tag dalam pesan komit
[deploy:prod] - Menyebarkan kepala komit saja
- Mulai manual opsional (tindakan manual gitlab)
- Jangan jalankan sebagai pengguna root
- Terus gunakan konfigurasi dalam file
- Log setiap output ke file, log mulai dan selesaikan ke syslog
- Batasi waktu eksekusi langkah-langkah yang memakan waktu (timeout)
- Secara opsional mendukung file proyek sebelum mulai menggunakan
- Buat pengguna bot di server untuk akses git dengan kunci ssh (
@companybot ) - Daftar perubahan dalam file proyek saat ini
- Periksa mode pemeliharaan, nyalakan mode pemeliharaan
php artisan down Menutupi Sumber Daya Statis, Halaman, AJAX dan Permintaan API - Clear Caches (Konfigurasi, Rute, Aplikasi, Templat dll.)
- Tunggu untuk menyelesaikan dan menonaktifkan pekerjaan cron dan pekerja latar belakang setelah membersihkan cache (email disalurkan ke program)
- Identifikasi repositori dan cabang git
- Checkout dengan commit hash (bukan dengan kepala cabang)
- Setidaknya lint kode sumber
- Jangan menyebarkan paket pengujian
- Aktifkan optimisasi produksi di Manajer Paket
- Bangun kode
- Jalankan migrasi basis data
- Matikan Mode Pemeliharaan
- Populate Caches (Aplikasi, Opcache,
wp rewrite flush ) - Jalankan setidaknya 1 uji fungsional atau unit dasar (misalnya login atau tampilkan dasbor)
- Periksa output HTML
- Konfigurasi sudo khusus untuk memuat ulang php-fpm atau cachetool
- Waspada tentang kegagalan
- "Turun selama x detik"
- Kirim Email, Slack, Trello atau Google Hangouts Notification
Analisis statis dengan phpstan
- Ekstensi
-
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 - Bintang repositori