Ana dışında bir daldan GitHub Eylemi nasıl çalıştırılır?
GitHub'da bir depom var ve bir Docker görüntüsü oluşturmak ve onu DockerHub'a göndermek için bir Eylem oluşturmak istiyorum. Nasıl yapılacağını biliyorum ama: Eğer eylemi usta GitHub dışında bir dalda yaratırsam onu çalıştırmaz.
Bu bilinen bir sorundur ( İş akışı dosyaları yalnızca ana bilgisayardan mı alınır? ).
Düzeltmek için herhangi bir fikriniz var mı?
Yanıtlar
Resmi GitHub Eylemleri belgelerine göre ( İş akışı olayları hakkında ):
Bir iş akışı çalıştırmasını tetiklemek için aşağıdaki adımlar gerçekleştirilir:
Deponuzda bir olay meydana gelir ve sonuçta ortaya çıkan olay web kancası ilişkili bir SHA ve Git ref kaydetme içerir.
Deponuzdaki .github / iş akışları dizini, ilişkili SHA veya Git başvurusunda iş akışı dosyaları için aranır. İş akışı dosyalarının, dikkate alınması için SHA veya Git ref kaydında mevcut olması gerekir.
Örneğin, olay belirli bir arşiv dalında meydana geldiyse, iş akışı dosyalarının o daldaki havuzda mevcut olması gerekir.Bu SHA ve Git ref için iş akışı dosyaları incelenir ve tetikleme olayıyla eşleşen on: değerlerine sahip tüm iş akışları için yeni bir iş akışı çalıştırması tetiklenir.
İş akışı, deponuzun kodu üzerinde, olayı tetikleyen aynı SHA ve Git ref işleminde çalışır. Bir iş akışı çalıştığında GitHub, çalıştırıcı ortamındaki GITHUB_SHA (commit SHA) ve GITHUB_REF (Git ref) ortam değişkenlerini ayarlar. Daha fazla bilgi için, "Ortam değişkenlerini kullanma" konusuna bakın.
Bu nedenle, iş akışlarını test etmek push
için oluşturulan dalda bir git eylemi (yani. Do ) gerçekleştirmemiz gerekir .