1. 📖 บทนำ

ในโค้ดแล็บนี้ คุณจะได้เรียนรู้พื้นฐานของ Gemini CLI และใช้ประโยชน์จากส่วนขยายการตรวจสอบโค้ดและการวิเคราะห์ความปลอดภัยในเวิร์กโฟลว์การพัฒนาซอฟต์แวร์
สิ่งที่คุณจะได้เรียนรู้
- วิธีตั้งค่า Gemini CLI
- วิธีกำหนดค่า Gemini CLI
- วิธีติดตั้งส่วนขยาย Gemini CLI
- วิธีใช้ประโยชน์จากส่วนขยาย Gemini CLI สำหรับการตรวจสอบโค้ดและการวิเคราะห์ความปลอดภัย
- วิธีกำหนดค่า MCP สำหรับ Gemini CLI
- วิธีตรวจสอบ Gemini CLI ใน CI/CD
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์ Chrome
- บัญชี Gmail
- โปรเจ็กต์ระบบคลาวด์ที่เปิดใช้บัญชีสำหรับการเรียกเก็บเงิน
2. 🚀 เตรียมการตั้งค่าการพัฒนาเวิร์กช็อป
ขั้นตอนที่ 1: เลือกโปรเจ็กต์ที่ใช้งานอยู่ใน Cloud Console
ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์ (ดูส่วนบนซ้ายของคอนโซล)

คลิกที่ไอคอนดังกล่าว แล้วคุณจะเห็นรายการโปรเจ็กต์ทั้งหมดของคุณดังตัวอย่างนี้

ค่าที่ระบุโดยกรอบสีแดงคือรหัสโปรเจ็กต์ และค่านี้จะใช้ตลอดทั้งบทแนะนำ
ตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินสำหรับโปรเจ็กต์ Cloud แล้ว หากต้องการตรวจสอบ ให้คลิกไอคอนแฮมเบอร์เกอร์ ☰ ในแถบด้านซ้ายบน ซึ่งจะแสดงเมนูการนำทางและค้นหาเมนูการเรียกเก็บเงิน


หากเห็น "บัญชีสำหรับการเรียกเก็บเงินของรุ่นทดลองใช้ Google Cloud Platform" ในส่วนหัวการเรียกเก็บเงิน / ภาพรวม ( ส่วนบนซ้ายของ Cloud Console) แสดงว่าโปรเจ็กต์พร้อมใช้งานสำหรับบทแนะนำนี้แล้ว หากยังไม่ได้ดำเนินการ ให้กลับไปที่จุดเริ่มต้นของบทแนะนำนี้และแลกรับบัญชีสำหรับการเรียกเก็บเงินช่วงทดลองใช้

ขั้นตอนที่ 2: ทำความคุ้นเคยกับ Cloud Shell
คุณจะใช้ Cloud Shell ในบทแนะนำส่วนใหญ่ คลิก "เปิดใช้งาน Cloud Shell" ที่ด้านบนของคอนโซล Google Cloud หากระบบแจ้งให้คุณให้สิทธิ์ ให้คลิกให้สิทธิ์


เมื่อเชื่อมต่อกับ Cloud Shell แล้ว เราจะต้องตรวจสอบว่า Shell ( หรือเทอร์มินัล) ได้รับการตรวจสอบสิทธิ์ด้วยบัญชีของเราแล้วหรือไม่
gcloud auth list
หากเห็น Gmail ส่วนตัวของคุณเหมือนเอาต์พุตตัวอย่างด้านล่าง แสดงว่าทุกอย่างเรียบร้อยดี
Credentialed Accounts
ACTIVE: *
ACCOUNT: alvinprayuda@gmail.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
หากไม่ ให้ลองรีเฟรชเบราว์เซอร์และตรวจสอบว่าคุณคลิกให้สิทธิ์เมื่อได้รับข้อความแจ้ง ( การดำเนินการอาจถูกขัดจังหวะเนื่องจากปัญหาการเชื่อมต่อ)
จากนั้นเราต้องตรวจสอบด้วยว่ามีการกำหนดค่าเชลล์เป็น PROJECT ID ที่ถูกต้องที่คุณมีอยู่แล้วหรือไม่ หากคุณเห็นค่าภายใน ( ) ก่อนไอคอน $ ในเทอร์มินัล ( ในภาพหน้าจอด้านล่าง ค่าคือ "your-workshop-project") ค่านี้จะแสดงโปรเจ็กต์ที่กำหนดค่าไว้สำหรับเซสชันเชลล์ที่ใช้งานอยู่

หากค่าที่แสดงถูกต้องอยู่แล้ว คุณก็ข้ามคำสั่งถัดไปได้ แต่หากไม่ถูกต้องหรือไม่มี ให้เรียกใช้คำสั่งต่อไปนี้
gcloud config set project <YOUR_PROJECT_ID>
ขั้นตอนที่ 3: ทำความคุ้นเคยกับ Cloud Shell Editor และตั้งค่าไดเรกทอรีการทำงานของแอปพลิเคชัน
ตอนนี้เราสามารถตั้งค่าโปรแกรมแก้ไขโค้ดเพื่อเขียนโค้ดได้แล้ว เราจะใช้ Cloud Shell Editor สำหรับการดำเนินการนี้
คลิกปุ่มเปิดตัวแก้ไข ซึ่งจะเปิด Cloud Shell Editor 
ตอนนี้คุณจะเห็นอินเทอร์เฟซของ Cloud Shell Editor ดังที่แสดงด้านล่าง

ตอนนี้ให้โคลนที่เก็บข้อมูลการสาธิตที่เราจะโต้ตอบด้วย ก่อนอื่นเราต้องเปิดเทอร์มินัลสำหรับเครื่องมือแก้ไข โดยคลิกเทอร์มินัล -> เทอร์มินัลใหม่ในแถบเมนู หรือใช้ Ctrl + Shift + C ซึ่งจะเปิดหน้าต่างเทอร์มินัลที่ส่วนล่างของเบราว์เซอร์

จากนั้นเรียกใช้คำสั่งนี้ในเทอร์มินัล
git clone https://github.com/alphinside/gemini-cli-code-analysis-demo.git code-analysis-demo
หลังจากนั้น ให้ไปที่ส่วนบนสุดของ Cloud Shell Editor แล้วคลิกไฟล์->เปิดโฟลเดอร์ ค้นหาไดเรกทอรี username แล้วค้นหาไดเรกทอรีที่เก็บที่โคลน code-analysis-demo จากนั้นคลิกปุ่ม OK ซึ่งจะทำให้ไดเรกทอรีที่เลือกเป็นไดเรกทอรีการทำงานหลัก ในตัวอย่างนี้ ชื่อผู้ใช้คือ alvinprayuda ดังนั้นเส้นทางไดเรกทอรีจึงแสดงอยู่ด้านล่าง


ตอนนี้ไดเรกทอรีการทำงานของ Cloud Shell Editor ควรมีลักษณะดังนี้

ตอนนี้เราก็พร้อมที่จะไปสู่เฟสถัดไปแล้ว
3. 🚀 การตั้งค่าและการกำหนดค่า
หากต้องการติดตั้ง Gemini CLI ในระบบภายใน ให้ทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่าระบบของคุณมี Node เวอร์ชัน 20 ขึ้นไป
- เปิดใช้ Gemini CLI โดยทำอย่างใดอย่างหนึ่งต่อไปนี้
- การติดตั้งเป็นแพ็กเกจส่วนกลาง
# Install as an executor
npm install -g @google/gemini-cli
# then run it from terminal
gemini
- หรือเรียกใช้จากแหล่งที่มาโดยตรงเพื่อให้ได้เวอร์ชันล่าสุดอยู่เสมอ
npx https://github.com/google-gemini/gemini-cli
เมื่อเรียกใช้เป็นครั้งแรก ระบบจะถามคำถามคุณหลายข้อ หากคุณเรียกใช้จาก IDE (เช่น VSCode) ระบบจะถามคำถามต่อไปนี้

จากนั้นระบบจะแสดงตัวเลือกหลายรายการให้คุณตรวจสอบสิทธิ์

โดยมีหลายตัวเลือกดังนี้
- หากเลือกเข้าสู่ระบบด้วย Google ระบบจะเปิดหน้าการตรวจสอบสิทธิ์ของ Google ในเบราว์เซอร์ และคุณเพียงแค่ต้องยอมรับ
- หากต้องการใช้คีย์ API ของ Gemini คุณจะต้องสร้างคีย์ในหน้า AI Studio จากนั้นสร้างไฟล์ .env ในไดเรกทอรีการทำงานโดยตั้งค่าตัวแปร GEMINI_API_KEY ( หรือเรียกใช้คำสั่ง
export GEMINI_API_KEY="your-api-key"ในบรรทัดคำสั่ง) - หากเลือกใช้ Vertex AI คุณจะต้องมีโปรเจ็กต์เช่นเดียวกับที่ตั้งค่าไว้ก่อนหน้านี้ และสร้างไฟล์ .env แล้วตั้งค่า GOOGLE_CLOUD_PROJECT และ GOOGLE_CLOUD_LOCATION
หากต้องการเปลี่ยนวิธีการตรวจสอบสิทธิ์เหล่านี้ คุณสามารถเรียกใช้คำสั่ง /auth จาก Gemini CLI หรือแก้ไขไฟล์การกำหนดค่า หากต้องการแก้ไขไฟล์การกำหนดค่าโดยตรง ใน Linux ไฟล์ควรอยู่ใน $HOME/.gemini/settings.json คุณจะเห็นประเภท security และ auth และแก้ไขได้
{
"security": {
"auth": {
"selectedType": "vertex-ai" # or "gemini-api-key" or "oauth-personal"
}
}
}

4. 🚀 คำสั่งพื้นฐานและเครื่องมือในตัว
ตอนนี้มาลองใช้ Gemini CLI เพื่อดูข้อมูลเพิ่มเติมกัน หากคุณกำลังมองหาคำสั่งพื้นฐานที่ใช้ได้ ให้พิมพ์ /help เพื่อแสดงคำสั่งทั้งหมดที่ใช้ได้

/help
คุณจะเห็นเอาต์พุตลักษณะนี้ 
Gemini CLI เป็นเอเจนต์ AI จึงมีเครื่องมือที่ติดตั้งไว้เพื่อแก้ชิ้นงานที่ผู้ใช้มอบหมาย หากต้องการดูเครื่องมือในตัว ให้เรียกใช้คำสั่ง /tools

/tools
โดยจะแสดงเอาต์พุตดังนี้

คุณจะเห็นว่า Gemini CLI มีความสามารถหลายอย่าง เช่น อ่านและเขียนไฟล์ ค้นหาในเว็บ และอื่นๆ อีกมากมาย เครื่องมือเหล่านี้หลายอย่างกำหนดให้ผู้ใช้รับทราบโดยค่าเริ่มต้นเนื่องจากมีความเสี่ยงที่อาจเกิดขึ้น
มาดูการทำงานจริงกันเลย ลองเรียกใช้พรอมต์เหล่านี้ใน Gemini CLI

Find top 10 OWASP security issue and write it down to owasp.md
คุณจะเห็นว่าโมเดลจะเรียกใช้GoogleSearch และต่อมาจะเขียนผลลัพธ์โดยใช้WriteFile และหากใช้ IDE คุณจะเห็นว่าระบบจะแสดงเป็น Diff และตัวเลือกการแสดงผลว่าคุณต้องการยอมรับหรือปฏิเสธคำแนะนำหรือไม่ ในที่นี้ คุณจะเห็นว่า Gemini CLI ขอสิทธิ์ในการเขียนไฟล์

5. 🚀 ส่วนขยาย
หากต้องการปรับปรุงผลลัพธ์ของงานที่เฉพาะเจาะจงด้วยเอเจนต์ AI สิ่งที่ท้าทายคือวิธีที่เราจะสร้างพรอมต์ที่เหมาะสม จัดการวิศวกรรมบริบทที่เหมาะสมด้วยการผสานรวมเครื่องมือที่เหมาะสม และอื่นๆ
ส่วนขยาย Gemini CLI คือพรอมต์และการผสานรวมที่แพ็กไว้ล่วงหน้าและติดตั้งได้ง่าย ซึ่งเชื่อมต่อกับเครื่องมือภายนอกได้ ส่วนขยายแต่ละรายการมี "เพลย์บุ๊ก" ในตัวเกี่ยวกับวิธีใช้เครื่องมืออย่างมีประสิทธิภาพ และอาจประกอบด้วยคอมโพเนนต์ต่อไปนี้
- คำสั่งเครื่องหมายทับที่กำหนดเอง
- การกำหนดค่า MCP
- ไฟล์บริบท

การติดตั้งส่วนขยายความปลอดภัย
ตัวอย่างเช่น ในบทแนะนำนี้ เราจะมาดูวิธีติดตั้งส่วนขยาย code-review และ security
เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งส่วนขยาย security จากเทอร์มินัล
gemini extensions install https://github.com/gemini-cli-extensions/security
โดยจะแสดงคำถามต่อไปนี้ เพียงกด Enter เพื่อยอมรับ
Installing extension "gemini-cli-security". **Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.** This extension will run the following MCP servers: * securityServer (local): node /home/alvinprayuda/.gemini/extensions/gemini-cli-security/mcp-server/dist/security.js This extension will append info to your gemini.md context using GEMINI.md Do you want to continue? [Y/n]: Extension "gemini-cli-security" installed successfully and enabled.
การติดตั้งส่วนขยายการตรวจสอบโค้ด
และต่อไป เราจะติดตั้งส่วนขยาย code-review โดยเรียกใช้คำสั่งด้านล่าง
gemini extensions install https://github.com/gemini-cli-extensions/code-review
หลังจากเสร็จแล้ว ให้เรียกใช้ Gemini CLI อีกครั้ง
gemini
และเรียกใช้คำสั่ง /extensions คุณจะเห็นว่ามีการติดตั้งส่วนขยาย 2 รายการนี้แล้ว

/extensions
เอาล่ะ ตอนนี้มาลองใช้จริงกับที่เก็บตัวอย่างที่คุณโคลนไว้ก่อนหน้านี้กัน
6. 🚀 โหมดอินเทอร์แอกทีฟ - แอปพลิเคชันส่วนขยายการวิเคราะห์ความปลอดภัยของโค้ด
ส่วนขยายความปลอดภัยเป็นส่วนขยาย Gemini CLI แบบโอเพนซอร์สที่สร้างขึ้นเพื่อเพิ่มความปลอดภัยของที่เก็บ ส่วนขยายจะเพิ่มคำสั่งใหม่ลงใน Gemini CLI ซึ่งจะวิเคราะห์การเปลี่ยนแปลงโค้ดเพื่อระบุความเสี่ยงและช่องโหว่ด้านความปลอดภัยต่างๆ
ตอนนี้เรามาเตรียมที่เก็บข้อมูลการสาธิตกันก่อน โดยเรียกใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนไปที่สาขาที่มีการเปลี่ยนแปลงที่มีความเสี่ยงด้านความปลอดภัยอยู่แล้ว
git checkout refactor/analysis-demo
หลังจากนั้น ให้เรียกใช้ Gemini CLI ในเทอร์มินัล
gemini
จากนั้นมาเรียกใช้ส่วนขยายกัน

/security:analyze
ซึ่งจะเริ่มกระบวนการที่ใช้เวลานาน และในระหว่างกระบวนการ คุณจะได้รับการแจ้งเตือนหลายครั้งที่ขอสิทธิ์ในการเรียกใช้การดำเนินการที่เฉพาะเจาะจง เช่น mkdir ดังที่แสดงด้านล่าง

นี่คือกลไกการป้องกันเพื่อให้ผู้ใช้ทราบว่า Gemini CLI จะดำเนินการอะไร สำหรับส่วนที่เหลือของบทแนะนำ คุณสามารถอนุญาตได้เสมอ ( ตัวเลือกที่ 2)
ส่วนขยายนี้จะเรียกใช้กระบวนการที่ใช้เวลานาน คุณจะเห็นว่าส่วนขยายสร้างไฟล์การวางแผนภายในไดเรกทอรี .gemini_security และคุณจะเห็นรายการตรวจสอบว่ากระบวนการใดเสร็จสมบูรณ์แล้วหรือไม่ ดังที่แสดงในตัวอย่างด้านล่าง

การดำเนินการนี้อาจใช้เวลาสักครู่ ในระหว่างนี้ คุณสามารถตรวจสอบแหล่งที่มาของส่วนขยายเหล่านี้ได้ใน ที่เก็บ Github URL นี้แสดงพรอมต์ที่ใช้เรียกใช้กระบวนการสแกนความปลอดภัยทั้งหมดนี้

ดังที่เห็นในนั้น การสแกนพรอมต์เป็น Gemini CLI เพื่อทำการตรวจสอบ 2 รอบ ได้แก่ รอบการลาดตระเวนและรอบการตรวจสอบที่ละเอียดยิ่งขึ้น
หากเห็นข้อความแจ้งต่อไปนี้ใน Gemini CLI คุณสามารถเลือกตัวเลือกที่ 2 เพื่อปิดใช้การตรวจจับลูปได้

จากนั้นแจ้งให้ Gemini CLI ดำเนินการต่อ

continue
กลไกนี้จะช่วยหลีกเลี่ยงการเรียกใช้เครื่องมือแบบวนซ้ำที่ไม่สิ้นสุดและไม่ก่อให้เกิดประโยชน์ และจะได้รับการปรับปรุงต่อไปเรื่อยๆ
หลังจากเสร็จสิ้นแล้ว ระบบจะแสดงรายงานในเทอร์มินัลแบบอินเทอร์แอกทีฟ เพื่อให้ง่ายขึ้น เรามาสั่งให้ Gemini CLI เขียนรายงานลงใน security-analysis.md

write the result to security-analysis.md file
ตอนนี้คุณสามารถตรวจสอบผลลัพธ์ที่เขียนลงในไฟล์ได้แล้ว
7. 🚀 โหมดไม่โต้ตอบ - การสมัครใช้ส่วนขยายการตรวจสอบโค้ด
code-review ส่วนขยายจะเพิ่มคำสั่งใหม่ลงใน Gemini CLI ซึ่งจะวิเคราะห์การเปลี่ยนแปลงโค้ดเพื่อระบุปัญหาด้านคุณภาพของโค้ดที่หลากหลาย
ส่วนขยายนี้สามารถเรียกใช้ในโหมดที่ไม่ใช่แบบอินเทอร์แอกทีฟของ Gemini CLI ซึ่งหมายความว่ากระบวนการทั้งหมดสามารถเรียกใช้ได้โดยไม่ต้องเข้าสู่เชลล์ของ Gemini CLI หากต้องการเรียกใช้ Gemini CLI ในโหมดไม่โต้ตอบ คุณสามารถทำได้โดยใช้รูปแบบคำสั่งต่อไปนี้
gemini "put your command here"
อย่างไรก็ตาม โปรดทราบว่าการเรียกใช้ในโหมดแบบไม่โต้ตอบจะปิดใช้การดำเนินการของเครื่องมือใดๆ ที่ต้องใช้สิทธิ์จากผู้ใช้ ดังนั้นเราจึงต้องเพิ่มแฟล็ก --yolo เพื่ออนุมัติการดำเนินการทั้งหมดโดยอัตโนมัติ ซึ่งหมายถึงการเปิดใช้เครื่องมือทั้งหมดในโหมดแบบไม่โต้ตอบ
มาเรียกใช้ส่วนขยาย code-review ด้วยคำสั่งต่อไปนี้กัน
gemini "/code-review" --yolo -e code-review > code-review.md
คำสั่งนี้จะเขียนผลลัพธ์ของเอาต์พุต Gemini CLI ลงในไฟล์ code-review.md โปรดสังเกต-eธงที่นี่ ธงนี้จะควบคุมส่วนขยายที่จะเปิดใช้งานในระหว่างเซสชัน ในที่นี้เราจะเปิดใช้งานเฉพาะส่วนขยาย code-review และปิดใช้ส่วนขยายอื่นๆ
กระบวนการนี้อาจใช้เวลาสักครู่ แต่หลังจากเสร็จสิ้นแล้ว คุณจะเห็นผลลัพธ์ที่คล้ายกับที่แสดงด้านล่างซึ่งเขียนลงในไฟล์ Markdown
Here are the results of the code review.
While the recent changes to rename `get_products` and `get_product` to `GetProducts` and `GetProduct` are minor, the codebase has some inconsistencies in its naming conventions. For instance, other functions like `create_product` use `snake_case`, while the newly renamed functions use `PascalCase`. For better code quality and readability, I recommend using a consistent naming convention throughout the project.
More importantly, I have identified several security vulnerabilities in the `main.py` file. Here is a summary of the findings:
### 1. SQL Injection
* **Severity**: High
* **Location**:
* `main.py:99` in `get_products_by_category`
* `main.py:146` in `search_products`
* `main.py:372` in `get_user_transactions`
* `main.py:438` in `adjust_inventory_by_query`
* **Description**: The endpoints directly use f-strings to construct SQL queries, making them vulnerable to SQL injection attacks. An attacker could manipulate the input to execute arbitrary SQL commands, potentially leading to data breaches or unauthorized modifications.
* **Recommendation**: Use parameterized queries or an ORM to handle database interactions. This will ensure that user input is properly sanitized and prevent SQL injection attacks.
### 2. Server-Side Request Forgery (SSRF)
* **Severity**: High
* **Location**: `main.py:265` in `fetch_url`
* **Description**: The `fetch_url` endpoint allows users to specify an arbitrary URL, which the server then requests. This can be exploited to make requests to internal services or local files, leading to information disclosure or other security breaches.
* **Recommendation**: Implement a whitelist of allowed domains or protocols to restrict the URLs that can be requested. Additionally, you can disable redirects and use a timeout to limit the impact of an attack.
### 3. Information Exposure
* **Severity**: Medium
* **Location**: `main.py:423` in `get_environment_variables`
* **Description**: The `get_environment_variables` endpoint exposes all environment variables to the user. This can include sensitive information such as API keys, database credentials, and other secrets.
* **Recommendation**: Remove this endpoint or restrict access to it to authorized users. If you need to expose some environment variables, do so selectively and avoid exposing sensitive information.
8. 🚀 การรองรับโปรโตคอลบริบทของโมเดล
ตอนนี้ Gemini CLI สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MCP ซึ่งเป็นแอปพลิเคชันที่ให้บริการเครื่องมือและทรัพยากรผ่าน Model Context Protocol ได้แล้ว ดังที่เราได้ตรวจสอบไปก่อนหน้านี้ในคำอธิบายส่วนขยาย การเชื่อมต่อนี้ช่วยให้ Gemini CLI โต้ตอบกับระบบและแหล่งข้อมูลภายนอกได้โดยใช้เซิร์ฟเวอร์ MCP เป็นสะพานเชื่อมต่อกับสภาพแวดล้อมในเครื่องและบริการภายนอก เช่น API

หากต้องการตั้งค่าเซิร์ฟเวอร์ MCP ด้วยตนเอง คุณต้องแก้ไขไฟล์ .gemini/settings.json และเพิ่มการกำหนดค่าต่อไปนี้
{
...
# Previous settings above if any
"mcpServers": {
"server_name": {
# MCP server configurations here
}
}
}
สำหรับบทแนะนำนี้ ให้กำหนดค่าการเชื่อมต่อกับบัญชี Github เพื่อพุชข้อมูลรายงานก่อนหน้าไปยัง Github
การกำหนดค่าเซิร์ฟเวอร์ MCP ของ Github
ก่อนอื่นมาสร้างไฟล์การกำหนดค่าโปรเจ็กต์ Gemini CLI กันก่อน เรียกใช้คำสั่งต่อไปนี้
mkdir -p .gemini && touch .gemini/settings.json
จากนั้นเปิดไฟล์ .gemini/settings.json แล้วกรอกข้อมูลการกำหนดค่าต่อไปนี้
{
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "your-personal-access-token"
},
"timeout": 5000
}
}
}
ตอนนี้เราจะต้องใช้โทเค็นการเข้าถึงส่วนบุคคลของ Github ของคุณที่นี่ ดังนั้นโปรดตรวจสอบว่าคุณมีบัญชี Github ของคุณเองแล้ว
เข้าสู่ระบบ Github แล้วไปที่การตั้งค่า

หลังจากนั้น ให้เลื่อนลงเพื่อค้นหาการตั้งค่าสำหรับนักพัฒนาแอป แล้วคลิก

จากนั้นเลือกโทเค็นเพื่อการเข้าถึงส่วนบุคคล แล้วเลือกโทเค็น (คลาสสิก)


ระบุชื่อโทเค็นเพื่อการเข้าถึงส่วนบุคคลที่นี่ แล้วเลือกขอบเขต repo

จากนั้นเลื่อนลงแล้วคลิกปุ่มสร้างโทเค็น
คลิกปุ่มสร้างโทเค็นใหม่ แล้วเลือกสร้างโทเค็นใหม่ (คลาสสิก) หลังจากนั้น ให้คัดลอกโทเค็นที่สร้างขึ้นและเขียนลงใน .gemini/settings.json

ดังนั้น .gemini/settings.json ของคุณควรมีลักษณะเหมือนตัวอย่างต่อไปนี้
{
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "ghp-xxxx"
},
"timeout": 5000
}
}
}
ตอนนี้มาตรวจสอบการเชื่อมต่อกัน ป้อน Gemini CLI โดยเรียกใช้คำสั่งนี้
gemini
จากนั้นเรียกใช้คำสั่ง /mcp คุณจะเห็นว่า MCP ของ Github ได้รับการกำหนดค่าอย่างถูกต้องแล้ว

/mcp
จากนั้นมาทดสอบการเชื่อมต่อ MCP นี้โดยส่งคำสั่งนี้กัน

Aggregate the findings from @code-review.md and @security-analysis.md into a single report and ensure no duplicates issues reported. Post this report as a comment on the relevant pull request for the current git branch on GitHub and display the pull request URL for manual review
โปรดสังเกตสัญกรณ์ @code-review.md และ @security-analysis.md ที่นี่ ซึ่งเป็นวิธีที่เราใช้อ้างอิงไฟล์ที่จะส่งไปยัง Gemini CLI คำสั่งนี้จะอ่านเนื้อหาของทั้ง 2 ไฟล์และส่งความคิดเห็นไปยังคำขอ Pull ที่เกี่ยวข้องกับกิ่งนี้โดยใช้การเชื่อมต่อ MCP ของ Github หลังจากนั้น คุณสามารถตรวจสอบใน URL ของคำขอ Pull เพื่อยืนยันได้

9. 💡Gemini CLI ในเวิร์กโฟลว์ CI/CD
หากเป็นผู้ใช้ Github คุณจะฝัง Gemini CLI ในไปป์ไลน์ CI/CD ได้อย่างง่ายดายโดยใช้ run-gemini-cliGithub Action โดยทำหน้าที่ทั้งเป็นเอเจนต์อิสระสำหรับงานเขียนโค้ดประจำที่สำคัญ และเป็นผู้ร่วมงานแบบออนดีมานด์ที่คุณมอบหมายงานให้ได้อย่างรวดเร็ว
คุณสามารถใช้เพื่อตรวจสอบคำขอ Pull Request, จัดเรียงปัญหา, วิเคราะห์และแก้ไขโค้ด และอื่นๆ ได้โดยใช้การสนทนากับ Gemini โดยตรงภายในที่เก็บ GitHub
คุณดูตัวอย่างการผสานรวมนี้ได้ในคำขอพุลนี้ ซึ่งเราใช้ส่วนขยายความปลอดภัยของ Gemini CLI ภายใน Runner และให้รีวิวเมื่อสร้างคำขอพุล




10. 💡สำรวจส่วนขยาย Gemini CLI อื่นๆ

นอกจากนี้ คุณยังสำรวจส่วนขยายเพิ่มเติมได้ที่ https://geminicli.com/extensions ลองดูเครื่องมือที่น่าสนใจอื่นๆ
11. 🧹 ล้างข้อมูล
โปรดทำตามขั้นตอนต่อไปนี้เพื่อเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในโค้ดแล็บนี้
- ใน Google Cloud Console ให้ไปที่หน้าจัดการทรัพยากร
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิกลบ
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิดเพื่อลบโปรเจ็กต์