จะเรียกใช้ GitHub Action จากสาขาอื่นที่ไม่ใช่ Master ได้อย่างไร
ฉันมี repo ใน GitHub และฉันต้องการสร้าง Action เพื่อสร้างภาพ Docker และส่งไปยัง DockerHub ฉันรู้วิธีทำ แต่: ถ้าฉันสร้างการกระทำในสาขาอื่นที่ไม่ใช่ GitHub หลักจะไม่เรียกใช้
นี่เป็นปัญหาที่ทราบ ( ไฟล์เวิร์กโฟลว์หยิบมาจากมาสเตอร์เท่านั้น? )
มีความคิดที่จะแก้ไขหรือไม่?
คำตอบ
ตามเอกสาร GitHub Actions อย่างเป็นทางการ ( เกี่ยวกับเหตุการณ์เวิร์กโฟลว์ ):
ขั้นตอนต่อไปนี้เกิดขึ้นเพื่อทริกเกอร์การรันเวิร์กโฟลว์:
เหตุการณ์เกิดขึ้นบนที่เก็บของคุณและเหตุการณ์ที่เกิดขึ้น webhook มีการเชื่อมโยงส่ง SHA และ Git ref
ไดเร็กทอรี. github / workflows ในที่เก็บของคุณถูกค้นหาไฟล์เวิร์กโฟลว์ที่การคอมมิต SHA หรือ Git ref ที่เกี่ยวข้อง ไฟล์เวิร์กโฟลว์ต้องมีอยู่ในคอมมิต SHA หรือ Git ref เพื่อพิจารณา
ตัวอย่างเช่นหากเหตุการณ์เกิดขึ้นบนสาขาที่เก็บเฉพาะไฟล์เวิร์กโฟลว์จะต้องอยู่ในที่เก็บบนสาขานั้นไฟล์เวิร์กโฟลว์สำหรับการคอมมิต SHA และ Git ref จะถูกตรวจสอบและการรันเวิร์กโฟลว์ใหม่จะถูกทริกเกอร์สำหรับเวิร์กโฟลว์ใด ๆ ที่มี on: ค่าที่ตรงกับเหตุการณ์ที่ทริกเกอร์
เวิร์กโฟลว์ทำงานบนโค้ดของที่เก็บของคุณที่คอมมิต SHA และ Git ref เดียวกันที่ทริกเกอร์เหตุการณ์ เมื่อเวิร์กโฟลว์ทำงาน GitHub จะตั้งค่าตัวแปรสภาพแวดล้อม GITHUB_SHA (คอมมิต SHA) และ GITHUB_REF (Git ref) ในสภาวะแวดล้อมของรันเนอร์ สำหรับข้อมูลเพิ่มเติมโปรดดู "การใช้ตัวแปรสภาพแวดล้อม"
ด้วยเหตุนี้ในการทดสอบเวิร์กโฟลว์เราจำเป็นต้องดำเนินการคอมไพล์ (เช่น do push
) ในสาขาที่สร้างขึ้น