จะเรียกใช้ GitHub Action จากสาขาอื่นที่ไม่ใช่ Master ได้อย่างไร

Aug 19 2020

ฉันมี repo ใน GitHub และฉันต้องการสร้าง Action เพื่อสร้างภาพ Docker และส่งไปยัง DockerHub ฉันรู้วิธีทำ แต่: ถ้าฉันสร้างการกระทำในสาขาอื่นที่ไม่ใช่ GitHub หลักจะไม่เรียกใช้

นี่เป็นปัญหาที่ทราบ ( ไฟล์เวิร์กโฟลว์หยิบมาจากมาสเตอร์เท่านั้น? )

มีความคิดที่จะแก้ไขหรือไม่?

คำตอบ

4 E.Betanzos Aug 25 2020 at 04:23

ตามเอกสาร GitHub Actions อย่างเป็นทางการ ( เกี่ยวกับเหตุการณ์เวิร์กโฟลว์ ):

ขั้นตอนต่อไปนี้เกิดขึ้นเพื่อทริกเกอร์การรันเวิร์กโฟลว์:

  1. เหตุการณ์เกิดขึ้นบนที่เก็บของคุณและเหตุการณ์ที่เกิดขึ้น webhook มีการเชื่อมโยงส่ง SHA และ Git ref

  2. ไดเร็กทอรี. github / workflows ในที่เก็บของคุณถูกค้นหาไฟล์เวิร์กโฟลว์ที่การคอมมิต SHA หรือ Git ref ที่เกี่ยวข้อง ไฟล์เวิร์กโฟลว์ต้องมีอยู่ในคอมมิต SHA หรือ Git ref เพื่อพิจารณา

    ตัวอย่างเช่นหากเหตุการณ์เกิดขึ้นบนสาขาที่เก็บเฉพาะไฟล์เวิร์กโฟลว์จะต้องอยู่ในที่เก็บบนสาขานั้น

  3. ไฟล์เวิร์กโฟลว์สำหรับการคอมมิต SHA และ Git ref จะถูกตรวจสอบและการรันเวิร์กโฟลว์ใหม่จะถูกทริกเกอร์สำหรับเวิร์กโฟลว์ใด ๆ ที่มี on: ค่าที่ตรงกับเหตุการณ์ที่ทริกเกอร์

    เวิร์กโฟลว์ทำงานบนโค้ดของที่เก็บของคุณที่คอมมิต SHA และ Git ref เดียวกันที่ทริกเกอร์เหตุการณ์ เมื่อเวิร์กโฟลว์ทำงาน GitHub จะตั้งค่าตัวแปรสภาพแวดล้อม GITHUB_SHA (คอมมิต SHA) และ GITHUB_REF (Git ref) ในสภาวะแวดล้อมของรันเนอร์ สำหรับข้อมูลเพิ่มเติมโปรดดู "การใช้ตัวแปรสภาพแวดล้อม"

ด้วยเหตุนี้ในการทดสอบเวิร์กโฟลว์เราจำเป็นต้องดำเนินการคอมไพล์ (เช่น do push) ในสาขาที่สร้างขึ้น