Takip et

GitHub Actions ile Otomatik Sürüm Yayınlama ve Semantik Sürümleme

GitHub Actions ile Otomatik Sürüm Yayınlama ve Semantik Sürümleme

Yazılım geliştirme sürecinde sürüm yönetimi, karmaşık ve zaman alıcı bir görev olabilir. Ancak, GitHub Actions ve Semantik Sürümleme’yi birleştirerek bu süreci önemli ölçüde otomatikleştirebilir ve daha verimli hale getirebilirsiniz. Bu makalede, bu iki güçlü aracı kullanarak nasıl otomatik sürüm yayınlama sistemleri kurabileceğinizi adım adım açıklayacağım.

Semantik Sürümleme Nedir?

Öncelikle, Semantik Sürümleme (Semantic Versioning – SemVer) hakkında kısa bir bilgi vermekte fayda var. SemVer, yazılım sürümlerini MAJOR.MINOR.PATCH formatında düzenlemeyi ve bu numaralandırmanın anlamlı bir şekilde değişiklikleri yansıtmasını sağlayan bir sistemdir. MAJOR numarası büyük değişiklikleri, MINOR numarası yeni özellikler eklemeyi ve PATCH numarası ise hata düzeltmelerini gösterir. Örneğin, 1.0.0 sürümünden sonra 1.1.0 sürümü yeni bir özellik eklendiğini, 1.0.1 sürümü ise bir hatanın düzeltildiğini gösterir. Bu sistem, yazılımın farklı versiyonlarını takip etmeyi ve uyumluluğu yönetmeyi kolaylaştırır.

GitHub Actions ile Otomasyon

GitHub Actions, kod deponuzda çeşitli olaylara (örneğin, bir pull request’in birleştirilmesi veya bir yeni tag oluşturulması) otomatik olarak yanıt veren iş akışları oluşturmanıza olanak tanır. Bu iş akışlarını kullanarak, yeni bir sürüm yayınlandığında otomatik olarak sürüm numarasını artırıp, release notları oluşturabilir ve yeni sürümü paketleyip yayınlayabilirsiniz.

Adım Adım Uygulama

İşte GitHub Actions kullanarak otomatik sürüm yayınlama için bir örnek iş akışı:


name: Release
on:
  push:
    tags:
      - 'v*'

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - run: npm install
      - run: npm run build
      - name: Create Release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          name: Release ${{ github.ref }}
          body: |
            ## Release Notes
            Bu sürümde yapılan değişiklikler:
            * Değişiklik 1
            * Değişiklik 2
            * Değişiklik 3
      - name: Upload Artifact
        uses: actions/upload-artifact@v3
        with:
          name: build-artifact
          path: dist/

Bu örnekte, v* ile başlayan tüm tag’lerin push edilmesi üzerine bir release oluşturuluyor. actions/create-release action’ı kullanılarak release oluşturulur ve actions/upload-artifact action’ı kullanılarak oluşturulan paketler yüklenir. Bu iş akışını kendi projenizin ihtiyaçlarına göre uyarlamanız gerekebilir. Örneğin, daha gelişmiş release notları oluşturmak veya farklı paketleme araçları kullanmak için ek adımlar ekleyebilirsiniz.

Faydalı Kaynaklar

Daha fazla bilgi için şu kaynaklara göz atabilirsiniz:

Sonuç olarak, GitHub Actions ve Semantik Sürümleme’yi birlikte kullanarak, yazılım geliştirme sürecinizde önemli bir otomasyon seviyesi elde edebilirsiniz. Bu da, zamandan tasarruf etmenizi, hataları azaltmanızı ve daha verimli bir şekilde çalışmanızı sağlar. Umarım bu makale, bu konuda size yol gösterici olmuştur.

#Etiketler: GitHub Actions, Semantik Sürümleme, Otomatik Sürüm Yayınlama, Yazılım Geliştirme, CI/CD, Sürüm Yönetimi, Otomasyon, DevOps


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.