
ควบคุมรหัส C ++ ของคุณโดยใช้เทมเพลตการรวมอย่างต่อเนื่องนี้
CIT - เป็นเทมเพลตโครงการสำหรับการพัฒนา codebase C ++ มันรวมเครื่องมือการวิเคราะห์แบบคงที่และแบบไดนามิกในเดี่ยวพร้อมใช้เทมเพลต
สำรวจความสามารถของเครื่องมืออัตโนมัติและผลกระทบต่อการพัฒนา
ให้ผู้ใช้ Project Unified Unified to linters และเครื่องมือวิเคราะห์
เทคนิคการแสดงการทดสอบคุณสมบัติที่แตกต่างกันของ codebase
จัดเตรียมการสร้างและสภาพแวดล้อมที่ทำซ้ำได้ผ่าน Docker และ Nix
ส่งเสริมทัศนคติที่รับผิดชอบต่อการพัฒนาซอฟต์แวร์ที่มีคุณภาพ
พื้นที่เก็บข้อมูลนี้ให้สภาพแวดล้อมการพัฒนาและทดสอบที่ทำซ้ำได้ด้วยการตรึงเวอร์ชันด้วย Docker และ Nix
สนับสนุนคอมไพเลอร์ C ++ ที่สำคัญโดยเปิดใช้งานการตรวจสอบเวลาทั้งหมด
การตั้งค่าการสร้างข้ามแพลตฟอร์มที่คุ้นเคยโดยใช้ CMake และ Conan
การทดสอบรันไทม์กับ Doctest และ Sanitizers
เครื่องมือบรรทัดคำสั่งเพื่อทำให้การใช้งานฟังก์ชันง่ายขึ้น

ผ้าลินินจำนวนมาก formatters และเครื่องมือการวิเคราะห์แบบคงที่รวมและการตั้งค่าสำหรับแต่ละด้านของโครงการพร้อมรายงานข้อมูลด้วยการรวมเข้ากับ megalinter เวอร์ชันที่ได้รับการแก้ไข

คุณไม่จำเป็นต้องจ้องที่บันทึกเครื่องมือดิบขอบคุณ CodeChecker คุณสามารถตรวจสอบตารางสรุปสถิติสำหรับโครงการและรายงานในเบราว์เซอร์ของคุณ 
แม้ว่าคุณจะไม่สามารถเรียกใช้งานได้ในพื้นที่ - นั่นไม่ใช่ปัญหา พร้อมที่จะใช้การตั้งค่า GitHub CI ด้วยการตรวจสอบและรายงานที่อัปโหลดเป็นสิ่งประดิษฐ์เดียวกัน
คำขอดึงจะไม่ผ่านหาก Linters พบปัญหาบางอย่าง

ReviewDog ความคิดเห็น CPP Linters เอาต์พุตในคำขอดึง

คำแนะนำของ Linters และการแก้ไขอัตโนมัติจะแสดงโดย ReviewDog เป็นคำแนะนำในคำขอดึง

ดึงการร้องขอความคิดเห็นพร้อมผลลัพธ์ผ้าสำลีเป็นความคิดเห็น: ตัวอย่าง เมื่อไม่มีปัญหาเหลืออยู่กับ PR คุณจะเห็นข้อความที่อัปเดตจากบอท

การครอบคลุมรหัสพร้อมรายงานการร้องขอ PULL CODECOV

สิ่งประดิษฐ์ทั้งหมดพร้อมบันทึกพร้อมดาวน์โหลดจาก CI
โครงการนี้อยู่ระหว่างการพัฒนาคาดว่าจะมีการเปลี่ยนแปลงใน API การตั้งค่าและเครื่องมือ ใช้ชุดกฎและการประชุมที่มีความคิดเห็นสำหรับโครงการอย่าลังเลที่จะเปลี่ยนไฟล์การกำหนดค่าเพื่อให้เหมาะกับความต้องการส่วนบุคคลของคุณมากที่สุด คุณสามารถแยกและเล่นกับมันการมีส่วนร่วมในซอร์สโค้ดปัญหาและคำขอยินดีต้อนรับ
คุณสามารถใช้เทมเพลตนี้ในระดับที่แตกต่างกันของการรวมเข้ากับสภาพแวดล้อมผู้ใช้ จากการใช้ตัวแก้ไขข้อความและเรียกใช้การตรวจสอบทั้งหมดใน CI ไปจนถึงการใช้อิมเมจนักเทียบท่าที่เตรียมไว้หรือ nix-shell และทำงานตรวจสอบในเครื่อง
แยกโครงการนี้เปิดใช้งานการกระทำของ GitHub และแก้ไขด้วยตัวแก้ไข GitHub หรือกับตัวแก้ไขข้อความท้องถิ่น
โครงการใช้ CMake Ninja และ Conan หากคุณติดตั้งไว้ในระบบของคุณคุณสามารถสร้างและเรียกใช้การทดสอบเช่นเดียวกับโครงการ CMake อื่น ๆ หรือเรียกใช้สคริปต์ทุบตีนี้จากรูทของโครงการเพื่อสร้างโครงการด้วย GCC:
ci/builders/gcc/build.shหากต้องการใช้โครงการนี้ในพื้นที่อย่างเต็มศักยภาพที่คุณมีตัวเลือก:
ติดตั้ง Docker มากกว่าที่คุณสามารถใช้ Image Docker ที่เตรียมไว้ เรียกสคริปต์นี้จากรูทของโครงการเพื่อเรียกใช้ Bash Shell ภายใน Image Docker
ci/docker/run_shell.shติดตั้ง Nix Package Manager หรือใช้ NIXOS ในกรณีนั้นโทร Nix-Shell
nix-shellตกลง. คุณได้รับสภาพแวดล้อมของคุณด้วยภาพ Docker หรือกับ Nix-Shell ลองมาดูกันว่ามีอะไรต่อไป เพื่อความสะดวกในการใช้งานโครงการที่เราใช้ ดังนั้นเราจึงเรียกได้ว่า:
justคุณจะเห็นสูตรอาหารที่มีอยู่ (การกระทำ) ซึ่งคุณสามารถทำได้เพื่อใช้โครงการ:

มาสำรวจฟังก์ชั่นหลักกันเถอะ คุณสามารถสร้างโครงการด้วยคอมไพเลอร์ GCC หรือ Clang โดยใช้คำสั่ง:
just build-gcc just build-clangในการเรียกใช้ผ้าลินินทั้งหมดในการใช้งานโครงการของคุณ:
just lint-allในการเรียกใช้ linter เฉพาะในโครงการของคุณให้ใช้คำสั่ง lint-with ที่มีชื่อของ descriptor และ linter ทั้งหมดแยกกรณีเงินทุนโดยการเน้นย้ำ ดังนั้นหากเราต้องการเรียกใช้การส่งสัญญาณจาก CPP Descriptor เราเรียกว่า:
just lint-with CPP_CLANG_TIDYและเราจะเห็นรายงานของ Linter เดี่ยว:

หลังจากผ้าสำลีคุณสามารถตรวจสอบโฟลเดอร์รายงานพร้อมบันทึกทั้งหมดจาก Linters
จาก Image Nix-Shell หรือ Docker คุณยังสามารถสร้างภาพนักเทียบท่าด้วยตัวเอง nix ใช้ในการสร้าง tar carchive ด้วยภาพนักเทียบท่าที่มีผ้าลินินทั้งหมด
just docker-buildคุณสามารถตรวจสอบได้ว่าผลลัพธ์ที่ผลิตมีผลรวมแฮชเหมือนกันตามผลลัพธ์ที่ผลิตโดย CI:
sha256sum resultอิมเมจนักเทียบท่ามากกว่าที่โหลดจากผลลัพธ์:
just docker-loadหรือคุณสามารถเรียกใช้ Docker-update ในการสร้างภาพ, sha256sum และโหลดในคำสั่งเดียว:
just docker-update-locallyคำสั่ง Docker-Update จะสร้างภาพและอัปโหลดไปยัง Docker-Hub:
just docker-updateหากต้องการดูการทำงานภายในทั้งหมดให้ดูที่ JustFile สำหรับสคริปต์ Bash Concrete สำหรับการกระทำแต่ละครั้ง ตรวจสอบไฟล์เวิร์กโฟลว์ GitHub สำหรับการตั้งค่า GitHub CI
บริการออนไลน์
คำสั่งคอนโซลแบบครบวงจร
กระตวน
ใบอนุญาต
ไฟล์และไดเรกทอรี
การสะกดคำ
การวิเคราะห์แบบคงที่ CPP
การวิเคราะห์แบบไดนามิก CPP
ตัวอย่างการใช้ห้องสมุด
cmake
เปลือก
ห้าม
ไฟล์ MD
ยม
เครื่องมือ CPP
คอมไพเลอร์ CPP
สภาพแวดล้อม CI
ตัวอย่างการใช้ห้องสมุด
การทดสอบ GUI
การทดสอบการสร้างที่ทำซ้ำได้
คำสั่งคอนโซลแบบครบวงจร
การทดสอบการอนุมัติ
microbenchmarking
รวบรวมการเปรียบเทียบเวลา
วิกิเกี่ยวกับโครงการ
โลโก้และภาพประกอบ
รุ่นและแท็กที่มีความเสถียร
แผนงาน
ขอบคุณมากสำหรับผู้มีส่วนร่วม คุณสามารถดูผู้มีส่วนร่วมในเครดิต
เทมเพลต CIT ที่ปล่อยออกมาภายใต้เงื่อนไขของใบอนุญาต MIT ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม