การดูแลระดับไบต์
บันทึก
ขณะนี้มี การกระทำของ GitHub 14 ขั้นตอนในที่เก็บนี้
วิธีใช้ชีวิตโดยไม่มีปัญหาผ่านการควบคุมทั้งหมด
- วิเคราะห์ผู้ให้บริการก่อนที่คุณจะเลือก
- ตรวจสอบผู้ให้บริการของคุณ
- ร่วมมืออย่างใกล้ชิดกับผู้ให้บริการของคุณ
- รู้ซอฟต์แวร์ทุกชิ้นบนเซิร์ฟเวอร์ของคุณและผู้แต่ง ถอนการติดตั้งสิ่งใดที่ไม่จำเป็น
- ตรวจสอบทุกกระบวนการบนเซิร์ฟเวอร์ของคุณด้วยการทดสอบการทำงานไม่ใช่แค่ pings
- เรียกใช้เครื่องมือ QA บนที่เก็บ Git ทุกไบต์ของคุณ
- รู้จักการพึ่งพาของคุณ (แพ็คเกจ) และผู้เขียนของพวกเขา
- ปรับใช้ 100% โดยอัตโนมัติ
- ดำเนินการสภาพแวดล้อมการผลิตโดยไม่มีการแทรกแซงของมนุษย์
- อนุรักษ์นิยมด้วยเวอร์ชันซอฟต์แวร์เมื่ออัพเกรด
ดูโครงสร้างพื้นฐานพิเศษสำหรับเว็บแอปพลิเคชัน
สนับสนุนงานของฉัน
โปรดพิจารณาสนับสนุนงานของฉันหากคุณได้รับประโยชน์จากความรู้นี้
ขอบคุณ!
CI
วิธีการออกแบบและใช้การรวมอย่างต่อเนื่อง
คุณพบเวิร์กโฟลว์ CI ที่สมบูรณ์ในที่เก็บนี้
- รันในคอนเทนเนอร์ที่ทำไว้ล่วงหน้าหรือติดตั้งแพ็คเกจระบบปฏิบัติการ
- แสดงข้อมูลสภาพแวดล้อม
- ตั้งค่าข้อมูลรับรองการเข้าถึง
- การควบคุมเวอร์ชัน
- Git Committer
- ส่งข้อความ
- ชื่อ PR
- Cache OS และแพ็คเกจไลบรารีภาษาการเขียนโปรแกรม
- ตรวจสอบภาษาการเขียนโปรแกรมและความเข้ากันได้ของเวอร์ชันเฟรมเวิร์ก
- ตรวจสอบการกำหนดค่าการจัดการแพ็คเกจ (ตรวจสอบและปกติ)
- ตรวจสอบแพ็คเกจที่ล้าสมัยและช่องโหว่ด้านความปลอดภัยที่รู้จักกัน
- สร้างรหัส
- กำหนดค่าแอปพลิเคชัน
- 0⃣⃣ระดับไบต์
- ตรวจสอบบิตโหมดไฟล์ดำเนินการ
- มองหาอักขระที่ไม่ใช่ ASCII (ตัวอักษรที่ไม่ใช่ภาษาอังกฤษ, อักขระช่องว่าง, อักขระควบคุม)
- ข้อผิดพลาดของไวยากรณ์1⃣
- ตรวจสอบซอร์สโค้ดสำหรับข้อผิดพลาดทางไวยากรณ์
- ตรวจสอบไฟล์เทมเพลตสำหรับข้อผิดพลาดทางไวยากรณ์
- 2⃣เรียกใช้หน่วยและการทดสอบการทำงาน
- 3⃣การวิเคราะห์แบบคงที่
- เรียกใช้การวิเคราะห์แบบคงที่: phpstan
- เครื่องตรวจจับหมายเลขวิเศษ
- เครื่องตรวจจับการคัดลอก
- 4⃣มาตรฐานการเข้ารหัส
- ตรวจสอบสไตล์การเข้ารหัส
- ยึดติดกับ editorConfig
- วัดความครอบคลุมรหัส
- ตรวจสอบวิธีการเส้นทาง (คอนโทรลเลอร์ของเส้นทาง)
- ตรวจสอบรายการไฟล์แบบกระจาย
- ตรวจสอบการสะกดคำ: พิมพ์ผิด
- การตรวจสอบและคำเตือนที่กำหนดเอง
- แสดงบันทึกในเอาต์พุต CI หรืออัปโหลดบันทึกเป็นสิ่งประดิษฐ์
- เริ่มต้น CD โดย SSH-ing ไปยังเซิร์ฟเวอร์ของตัวเอง (
restrict,command ใน Avality_Keys และ DenyUsers ใน SSHD.Conf) - เช็ดข้อมูลที่ละเอียดอ่อน
ซีดี
วิธีการออกแบบและดำเนินการจัดส่งอย่างต่อเนื่อง
- ข้อ จำกัด ที่เป็นไปได้:
- การทดสอบที่ประสบความสำเร็จ
- อย่าทำงานบน PR-S
- repo ของเรา
- สาขาเฉพาะ
- Tag in Commit Message
[deploy:prod] - ปรับใช้หัวกระทำเท่านั้น
- การเริ่มต้นด้วยตนเองทางเลือก (การกระทำคู่มือ Gitlab)
- อย่าเรียกใช้เป็นผู้ใช้รูท
- ปรับใช้การกำหนดค่าในไฟล์
- บันทึกทุกเอาต์พุตไปยังไฟล์บันทึกเริ่มต้นและเสร็จสิ้นไปยัง syslog
- จำกัด เวลาดำเนินการของขั้นตอนที่ใช้เวลานาน (หมดเวลา)
- เป็นทางเลือกสำรองไฟล์โครงการก่อนที่จะเริ่มปรับใช้
- สร้างผู้ใช้ BOT บนเซิร์ฟเวอร์สำหรับการเข้าถึง GIT ด้วยคีย์ SSH (
@companybot ) - รายการการเปลี่ยนแปลงในไฟล์โครงการปัจจุบัน
- ตรวจสอบโหมดการบำรุงรักษาเปิดโหมดการบำรุงรักษา
php artisan down ครอบคลุมทรัพยากรคงที่หน้าคำขอ AJAX และ API - ล้างแคช (การกำหนดค่าเส้นทางแอปพลิเคชันแม่แบบ ฯลฯ )
- รอให้เสร็จและปิดการใช้งานงาน cron และคนงานพื้นหลังหลังจากล้างแคช (อีเมลส่งไปยังโปรแกรม)
- ระบุที่เก็บ Git และสาขา
- ชำระเงินโดย commit hash (ไม่ใช่โดย Branch Head)
- อย่างน้อย ผ้าสำลีซอร์สโค้ด
- อย่าปรับใช้แพ็คเกจการทดสอบ
- เปิดใช้งานการเพิ่มประสิทธิภาพการผลิตใน Package Manager
- สร้างรหัส
- เรียกใช้การย้ายฐานข้อมูล
- ปิดโหมดการบำรุงรักษา
- เติมแคช (แอปพลิเคชัน, opcache,
wp rewrite flush ) - เรียกใช้การทดสอบฟังก์ชันพื้นฐานหรือหน่วยการทดสอบอย่างน้อย 1 ครั้ง (เช่นล็อกอินหรือแผงหน้าจอแสดงผล)
- ตรวจสอบเอาต์พุต HTML
- การกำหนดค่า sudo พิเศษสำหรับการโหลด php-fpm หรือ cachetool
- เตือนความล้มเหลว
- "ลดลงเป็นเวลา x วินาที"
- ส่งอีเมล Slack, Trello หรือ Google Hangouts การแจ้งเตือน
การวิเคราะห์แบบคงที่ด้วย phpstan
- ส่วนขยาย
-
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 - ที่เก็บที่ติดดาว