แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace
สร้างแอ็กชันแบบประกอบที่รวมหลายขั้นตอน กำหนดเวอร์ชันอย่างเหมาะสม และเผยแพร่แอ็กชันที่กำหนดเองไปยัง GitHub Marketplace เพื่อนำกลับมาใช้ซ้ำ
แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
แอ็กชันแบบกำหนดเองสามประเภท
GitHub รองรับสามวิธีในการสร้างแอ็กชันแบบกำหนดเอง:
- แอ็กชัน JavaScript — เรียกใช้โค้ด Node
- แอ็กชัน Docker — ทำงานภายในคอนเทนเนอร์
- แอ็กชันแบบ Composite — รวมขั้นตอนเวิร์กโฟลว์หลายขั้นตอน
บทเรียนนี้มุ่งเน้นแอ็กชันแบบ Composite และการเผยแพร่
แอ็กชันแบบ Composite คืออะไร
แอ็กชันแบบ Compositeจะจัดแพ็กเกจขั้นตอน run หลายขั้นตอนและการเรียกแอ็กชันอื่นให้เป็นหน่วยที่นำกลับมาใช้ซ้ำได้หนึ่งหน่วย โดยไม่ต้องเขียน JavaScript หรือสร้างอิมเมจ Docker
เหมาะอย่างยิ่งสำหรับรวบรวมลำดับคำสั่งเชลล์ที่ต้องทำซ้ำ
ไฟล์ action.yml
แอ็กชันทุกตัวกำหนดไว้ใน action.yml ที่ไดเรกทอรีราก สำหรับแอ็กชันแบบ Composite ให้กำหนด runs.using เป็น composite
name: Setup Project
description: Install deps and build
runs:
using: composite
steps:
- run: npm ci
shell: bash
- run: npm run build
shell: bashต้องระบุ Shell
กฎที่มักมองข้ามคือ ในแอ็กชันแบบ Composite ขั้นตอน run ทุกขั้นต้องประกาศ shell การลืมระบุเป็นข้อผิดพลาดที่พบบ่อยที่สุดเมื่อสร้างแอ็กชันแบบ Composite
- run: echo 'hello'
shell: bashการกำหนดอินพุต
ทำให้แอ็กชันกำหนดค่าได้ด้วย inputs ผู้เรียกจะส่งค่าผ่าน with และคุณอ้างอิงค่าเหล่านั้นได้ในรูป inputs.<name>
inputs:
node-version:
description: Node version
required: false
default: '20'
runs:
using: composite
steps:
- run: echo Using ${{ inputs.node-version }}
shell: bashการกำหนดค่าเอาต์พุต
แอ็กชันแบบประกอบสามารถส่งคืนเอาต์พุตได้ ขั้นตอนหนึ่งจะเขียนค่าไปยัง GITHUB_OUTPUT แล้วแอ็กชันจะแมปค่านั้นเป็นเอาต์พุตที่มีชื่อกำกับ
outputs:
build-id:
value: ${{ steps.gen.outputs.id }}
runs:
using: composite
steps:
- id: gen
run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
shell: bashการใช้แอ็กชันภายในเครื่อง
คุณสามารถอ้างอิงแอ็กชันที่จัดเก็บอยู่ในรีโพเดียวกันด้วยพาธได้ ซึ่งมีประโยชน์มากระหว่างการพัฒนาก่อนเผยแพร่
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-project
with:
node-version: '20'การจัดการเวอร์ชันด้วยแท็ก
แอ็กชันที่เผยแพร่แล้วจะอ้างอิงด้วย git ref แนวทางที่แนะนำคือ ติดแท็กรีลีสเป็น v1.0.0 และดูแลแท็ก v1 ที่เลื่อนไปตามรีลีสล่าสุดไว้ด้วย
ผู้เรียกที่ใช้ @v1 จะได้รับการอัปเดตที่ไม่ทำให้การทำงานเดิมเสียหายโดยอัตโนมัติ
git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --forceการเตรียมเผยแพร่สู่มาร์เก็ตเพลส
หากต้องการเผยแพร่ไปยัง GitHub มาร์เก็ตเพลส แอ็กชันต้องอยู่ในรีโพสาธารณะที่มี action.yml ซึ่งประกอบด้วย name, description และควรมี branding (ไอคอนและสี) ด้วย
branding:
icon: package
color: blueการเผยแพร่รีลีส
ที่หน้าการเผยแพร่ของรีโพ ให้ร่างรีลีสสำหรับแท็กของคุณ GitHub จะแสดงช่องทำเครื่องหมาย เผยแพร่แอ็กชันนี้ไปยังมาร์เก็ตเพลส
ยอมรับข้อตกลง เลือกหมวดหมู่ แล้วเผยแพร่ จากนั้นทุกคนจะสามารถค้นหาแอ็กชันนี้ได้
การจัดทำเอกสารการใช้งาน
แอ็กชันที่ดีควรมาพร้อมกับ README ที่ชัดเจน โดยแสดงตัวอย่างการใช้งาน อินพุต และเอาต์พุต
องค์กรต่าง ๆ ที่กำลังประเมินแอ็กชันของคุณจะพึ่งพาเอกสารนี้เป็นอย่างมาก ดังนั้นควรรักษาให้ถูกต้องและครบถ้วนอยู่เสมอ
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับแอ็กชันแบบประกอบ
สรุปทบทวน
คุณได้เรียนรู้การสร้างและเผยแพร่แอ็กชันแบบประกอบ
- แอ็กชันแบบประกอบรวมขั้นตอนต่าง ๆ ไว้ผ่าน
runs.using: composite - ทุกขั้นตอนที่เรียกใช้ต้องระบุ
shellอย่างชัดเจน - เปิดเผยอินพุตและเอาต์พุตเพื่อให้นำกลับมาใช้ซ้ำได้
- ติดแท็กด้วยเวอร์ชันตามหลักความหมายและแท็กหลักที่เลื่อนไปตามรีลีสล่าสุด จากนั้นเผยแพร่ไปยังมาร์เก็ตเพลส
แอ็กชันที่นำกลับมาใช้ซ้ำได้คือวิธีที่ทีมต่าง ๆ ใช้ขยายตรรกะ CI/CD ร่วมกัน
คำถามที่พบบ่อย
บทเรียน “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace”
สร้างแอ็กชันแบบประกอบที่รวมหลายขั้นตอน กำหนดเวอร์ชันอย่างเหมาะสม และเผยแพร่แอ็กชันที่กำหนดเองไปยัง GitHub Marketplace เพื่อนำกลับมาใช้ซ้ำ คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CI/CD with GitHub Actions & DevOps Pipelines บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม
ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การพัฒนาแอ็กชัน GitHub แบบกำหนดเอง
- ตัวรันที่โฮสต์เองสำหรับระบบภายในองค์กร
- การผสานรวมกับระบบองค์กร
- แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace