0Pricing
DevOps Bootcamp · บทเรียน

แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace

สร้างแอ็กชันแบบประกอบที่รวมหลายขั้นตอน กำหนดเวอร์ชันอย่างเหมาะสม และเผยแพร่แอ็กชันที่กำหนดเองไปยัง GitHub Marketplace เพื่อนำกลับมาใช้ซ้ำ

แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace”

สร้างแอ็กชันแบบประกอบที่รวมหลายขั้นตอน กำหนดเวอร์ชันอย่างเหมาะสม และเผยแพร่แอ็กชันที่กำหนดเองไปยัง GitHub Marketplace เพื่อนำกลับมาใช้ซ้ำ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การพัฒนาแอ็กชัน GitHub แบบกำหนดเอง
  2. ตัวรันที่โฮสต์เองสำหรับระบบภายในองค์กร
  3. การผสานรวมกับระบบองค์กร
  4. แอ็กชันแบบประกอบและการเผยแพร่ไปยัง Marketplace
← กลับไปที่ DevOps Bootcamp