Özel GitHub eylemi yayımlama

Tamamlandı

Burada eyleminiz için doğru görünürlüğü seçmeyi, eyleminizi belgeleme ve sürüm oluşturma için en iyi yöntemleri ve eyleminizi GitHub Market'te yayımlamayı öğreneceksiniz.

Eyleminiz için bir konum seçin

Bir eylem için iki görünürlük seçeneğini görüntüleyen diyagram: genel veya özel.

Eylem oluştururken, önce bu eylemin nerede yaşamasını istediğinize ve bu eylemin görünürlüğüne (veya publicveya private ) karar vermek önemlidir. Eylemin görünürlüğü, bu eylemi yayınlamak için hangi önerilerin ve gereksinimlerin gerekli olduğunu belirler. Şimdi bu iki görünürlük seçeneğine daha yakından bakalım.

Genel

Herhangi bir depodaki iş akışları genel eylemleri kullanabilir. Açık kaynak veya GitHub Market aracılığıyla herkese açık hale getirmek amacıyla bir eylem geliştiriyorsanız, eylemin diğer uygulama koduyla paketlemek yerine kendi deposuna sahip olmasını öneririz (ve çoğu durumda gereklidir). Bu, eylemi diğer yazılımlarda olduğu gibi sürüm oluşturmanıza, izlemenize ve yayınlamanıza olanak tanır. Bu, GitHub topluluğunun eylemi keşfetmesini kolaylaştırır, geliştiricilerin sorunları çözmesi ve eylemi genişletmesi için kod tabanının kapsamını daraltır ve eylemin sürüm oluşturma işlemini diğer uygulama kodunun sürüm oluşturmasından ayırır.

Özel

Bir eylem özel bir depoda olduğunda, eylemi yalnızca aynı depodaki iş akışları kullanabilir. Özel eylemlerle, eylemin dosyalarını deponuzdaki herhangi bir konumda depolayabilirsiniz. Eylem, iş akışı ve uygulama kodunu tek bir depoda birleştirmeyi planlıyorsanız, eylemi dizinde .github depolamanızı öneririz. Örneğin, .github/actions/action-a ve .github/actions/action-b.

Eyleminizi belgeleyin

Belgeler belirsiz ve hatta eksik olduğunda yeni bir araç veya uygulama kullanmak çok sinir bozucu olabilir. İster genel ister özel olsun, başkalarının nasıl çalıştığını görebilmesi için eyleminize iyi belgeler eklemeniz önemlidir. yapmanız gereken ilk şey, eyleminiz için iyi bir README.md dosyası oluşturmaktır.

Dosya README.md genellikle geliştiricilerin eylemin nasıl çalıştığını görmek için bakacağı ilk yerdir. Bu, eylem için tüm önemli bilgileri dahil etmek için harika bir yerdir. Aşağıda, eklenecek öğelerin kapsamlı olmayan bir listesi yer alır:

  • Eylemin ne yaptığına ilişkin ayrıntılı bir açıklama.
  • Gerekli giriş ve çıkış bağımsız değişkenleri.
  • İsteğe bağlı giriş ve çıkış bağımsız değişkenleri.
  • Eylemin kullandığı gizli diziler.
  • Eylemin kullandığı ortam değişkenleri.
  • Eyleminizi bir iş akışında kullanma örneği.

Genel bir kural olarak, README.md dosya bir kullanıcının eylemi kullanmak için bilmesi gereken her şeyi içermelidir. Yararlı bilgiler olabileceğini düşünüyorsanız, bunu bölümüne README.mdekleyin.

Eyleminizi serbest bırakma ve sürüm oluşturma

Diğer kişilerin kullanması için ortak veya özel bir eylem geliştiriyorsanız güncelleştirmelerin nasıl dağıtılacağını denetlemek için bir sürüm yönetimi stratejisi tanımlamanız gerekir. Gerekli kritik düzeltmeler ve uyumluluğu etkileyen güvenlik düzeltme ekleri de dahil olmak üzere ana sürüm güncelleştirmelerinin açıkça belgelenmiş olması gerekir.

Sürüm ve sürüm yönetimi için iyi uygulamalar

İyi bir sürüm yönetimi stratejisi sürüm oluşturma önerilerini içermelidir. Kullanıcılar eylemin varsayılan dalı ile eyleme başvurmamalıdır. Bunun nedeni, en son kodu içerme olasılığı olan varsayılan dalın (kararlı olabilir veya olmayabilir) iş akışınızın bozulmasına neden olmasıdır. Bunun yerine, kullanıcıların eylemi kullanırken bir ana sürüm belirtmelerini ve yalnızca sorunlarla karşılaştıkları durumlarda onları daha belirli bir sürüme yönlendirmelerini öneririz. Bunu yapmak için GitHub Actions iş akışlarını bir etiketi, işlemenin SHA'sını veya yayın için adlı belirli bir dalı hedeflemek üzere yapılandırabilir. Şimdi bu sürüm seçeneklerine daha yakından bakalım.

Etiketler

Etiketler, bir eylem için yayınları yönetmenin iyi bir yolu olabilir. Kullanıcılar etiketleri kullanarak ana ve ikincil sürümleri kolayca ayırt edebilir. Aşağıda, yayın oluştururken dikkate alınacak yararlı uygulamaların listesi yer alır:

  • Yayın etiketini oluşturmadan önce bir yayın dalında (örneğin release/v1) bir yayın oluşturun ve doğrulayın (örneğin, v1.0.2).
  • Anlamsal sürüm oluşturma kullanın.
  • Geçerli sürümün Git başvurusuna işaret etmek için ana sürüm etiketini (, gibiv1v2) taşıyın.
  • Mevcut iş akışlarını bozacak değişiklikler için yeni bir ana sürüm etiketi (v2) ekleyin.
  • Durumlarını belirtmek için beta etiketine sahip ana sürümleri yayınlar; örneğin, v2-beta. Yayın hazır olduğunda etiketi kaldırabilirsiniz -beta .

Her seçenek için bazı örnekler aşağıda verilmiştir.

steps:
    - uses: actions/javascript-action@v1
    - uses: actions/javascript-action@v1.0.1
    - uses: actions/javascript-action@v1-beta

İşlemenin SHA'sını kullanma

Etiketler yararlı ve yaygın olarak kullanılır, ancak etiketleri kullanmanın bir dezavantajı da silinebilir veya taşınabilir olmasıdır. Git ile her işleme, benzersiz olan ve değiştirilebilen bir hesaplanan SHA değeri alır. Sürüm oluşturma için işleme SHA'sı kullanmak, bir eylemi sürüm oluşturmanın ve kullanmanın en güvenilir ve güvenli yolunu sağlar. Ancak, genellikle Git'te SHA karması için ilk birkaç karakteri kısaltabilirsiniz ve Git başvuruyu tanır. Yayın yönetimi için işlemenin SHA'sını kullanıyorsanız kısaltılmış değeri değil tam SHA değerini kullanmanız gerekir.

steps:
    - uses: actions/javascript-action@2522385f6f7ba04fe7327647b213799853a8f55c

GitHub Market'te eylem yayımlama

GitHub Marketi, iş akışınızı geliştirmeye ve geliştirmeye yönelik araçlar yazan işleme.

Eyleminizi GitHub topluluğuyla paylaşmaya hazır olduğunuzda, bunu GitHub Market'te yayımlayabilir ve milyonlarca GitHub kullanıcısına ulaşabilirsiniz. GitHub Market'te yayımlanan eylemler, tüm gereksinimler karşılanırsa hemen yayımlanır. Gereksinimleri karşılamayen eylemlerin yayımlanmadan önce GitHub tarafından gözden geçirilmesi gerekir. Deponun yalnızca eylem için gerekli meta veri dosyasını, kodu ve dosyaları içerdiğinden emin olmanız gerekir. Eylem için tek bir depo oluşturmak, kodu tek bir ünitede etiketlemenize, serbest bırakmanıza ve paketlemenize olanak tanır. GitHub, Eylemin GitHub Market sayfanızdaki meta verilerini de kullanır.

Aşağıda, GitHub Market'te eylem yayımlama gereksinimleri yer alır. Bunlar hem Docker kapsayıcı tabanlı eylemler hem de JavaScript tabanlı eylemler için geçerlidir:

  • Eylemin genel bir depoda olması gerekir.
  • Her depo tek bir eylem içermelidir.
  • Eylemin meta veri dosyası (action.yml veya action.yaml) deponun kök dizininde olmalıdır.
  • name Eylemin meta veri dosyasındaki dosyası GitHub Market'te benzersiz olmalıdır.
    • Kullanıcı veya kuruluş sahibi eylemi yayımlamadığı sürece, ad GitHub'da bir kullanıcı veya kuruluşla eşleşemez. Örneğin, yalnızca GitHub kuruluşu adlı githubbir eylem yayımlayabilir.
    • mevcut name github market kategorisiyle eşleşemez.
    • name mevcut github özelliğiyle eşleşemez.

Oluşturduğunuz eylemi yeni bir sürüm olarak etiketleyip yayımlayarak GitHub Market'e ekleyebilirsiniz. GitHub'da eyleminizin bir sürümünü yayımlamanıza olanak sağlayan birkaç kılavuzlu adım vardır. Bu adımlar hakkında daha fazla bilgiyi bu modülün sonundaki Özet bölümünde bulabilirsiniz.