การใช้การกระทำของ GitHub นี้สแกนรหัสของคุณด้วยเครื่องสแกน Sonarqube เพื่อตรวจจับข้อบกพร่องช่องโหว่และรหัสมีกลิ่นในภาษาการเขียนโปรแกรมมากกว่า 20 ภาษา!
Sonarqube เป็นแพลตฟอร์มโอเพ่นซอร์สที่พัฒนาโดย Sonarsource สำหรับการตรวจสอบคุณภาพของรหัสอย่างต่อเนื่องเพื่อดำเนินการตรวจสอบอัตโนมัติด้วยการวิเคราะห์รหัสแบบคงที่เพื่อตรวจจับข้อบกพร่องรหัสกลิ่นและช่องโหว่ด้านความปลอดภัยในภาษาการเขียนโปรแกรม 20+
เวิร์กโฟลว์มักจะประกาศใน .github/workflows/build.yaml ดูเหมือน:
on :
# Trigger analysis when pushing in master or pull requests, and when creating
# a pull request.
push :
branches :
- master
pull_request :
types : [opened, synchronize, reopened]
name : SonarQube Scan
jobs :
sonarqube :
name : SonarQube Trigger
runs-on : ubuntu-latest
steps :
- name : Checking out
uses : actions/checkout@master
with :
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth : 0
- name : SonarQube Scan
uses : kitabisa/[email protected]
with :
host : ${{ secrets.SONARQUBE_HOST }}
login : ${{ secrets.SONARQUBE_TOKEN }}คุณสามารถเปลี่ยนไดเรกทอรีฐานการวิเคราะห์และ/หรือคีย์โครงการโดยใช้อินพุตเสริมเช่นนี้:
uses : kitabisa/sonarqube-action@master
with :
host : ${{ secrets.SONARQUBE_HOST }}
login : ${{ secrets.SONARQUBE_TOKEN }}
projectBaseDir : " src/ "
projectKey : " my-custom-project "นี่คือบางส่วนของพารามิเตอร์อินพุตที่รองรับของการดำเนินการ
| พารามิเตอร์ | คำอธิบาย | ที่จำเป็น? | ค่าเริ่มต้น | บันทึก |
|---|---|---|---|---|
host | URL เซิร์ฟเวอร์ Sonarqube | - | ||
login | เข้าสู่ระบบหรือโทเค็นการรับรองความถูกต้องของผู้ใช้ Sonarqube | - | ต้อง Execute Analysis | |
password | รหัสผ่านที่ไปพร้อมกับชื่อผู้ใช้ login | - | สิ่งนี้ควรว่างเปล่าหาก login เป็นโทเค็นการตรวจสอบสิทธิ์ | |
projectBaseDir | ตั้งค่าการวิเคราะห์ไดเรกทอรีฐานโครงการที่กำหนดเอง | - | . | |
projectKey | คีย์ที่ไม่ซ้ำกันของโครงการ | - | อักขระที่อนุญาตคือ: ตัวอักษร, ตัวเลข, - , _ . และ : ด้วยอย่างน้อยหนึ่งหลัก | |
projectName | ชื่อโครงการ | - | มันจะแสดงบนเว็บอินเตอร์เฟส Sonarqube | |
projectVersion | เวอร์ชันโครงการ | - | ||
encoding | การเข้ารหัสซอร์สโค้ด | - | UTF-8 |
บันทึก
หากคุณเลือกที่จะกำหนดค่าข้อมูลเมตาโครงการและการตั้งค่าอื่น ๆ ที่เกี่ยวข้องในไฟล์ sonar-project.properties (ต้องวางไว้ในไดเรกทอรีพื้นฐาน projectBaseDir ) แทนที่จะใช้พารามิเตอร์อินพุตการกระทำนี้เข้ากันได้กับวิธีการนั้น!
DockerFile และสคริปต์ที่เกี่ยวข้องและเอกสารประกอบในโครงการนี้ได้รับการเผยแพร่ภายใต้ใบอนุญาต MIT
ภาพภาชนะที่สร้างขึ้นด้วยโครงการนี้รวมถึงวัสดุของบุคคลที่สาม