Photo by Tengyart on Unsplash

DEVOPS

GitHub Actions ile Manual Deploy

Bu yazıda GitHub Action’ı istenen herhangi bir branch için çalıştırabilmenin yollarını arıyor olacağız. Özellikle Dev, Lab, Test gibi ortamlara farklı feature branchlerinden çıktığınız geliştirimeleri nasıl GitHub actions ile deploy yapabiliriz onu görmüş olacağız.

Frontend Development With JS
3 min readMay 12, 2023

--

Daha önceki 2 yazımızda;

GitHub üzerinde Branch Stratejilerinden , diğerinde de bir branch merge olunca otomatik tetiklenen bir GitHub Action nasıl yazılır üzerinde durmuştuk.

Gereksinim

  • Her zaman merge işleminin otomatik bir build/deploy sürecini başlatmasını istemiyor olabiliriz.
  • İstenilen ortama farklı farklı branch lerden build/deploy işlemini başlatmak isteyebiliriz.
  • Bu sisteme deploy yaparken ekstra parametreler almak isteyebiliriz.

Aşağıda bunu nasıl yapabileceğimizi anlatıyor olacağım.

GitHub Actions’da aşağıdaki resimdeki gibi branch seçtirme imkanı çıkarıp istediğimiz branch’den deploy yapmak istiyorsak.

Pembe arkaplanlı olan branch seçip işlemi başlatalım. Ve aşağıda görüleceği gibi istediğimiz branch deploy işlemini başlatmış olduk.

http://simple-calculator-app.s3-website-eu-west-1.amazonaws.com/

Bu işlemi yapabilmek için Defining inputs for manually triggered workflows GitHub actions dokümantasyonunu okumanızda fayda var. Ama temel fark trigger işlemi başlatırken bir branch merge ettirmek ile tetiklenme olayı

on:
push:
branches:
- main

yerine kullanıcıdan branch bilgisini alarak tetiklenmeyi manual başlattırmaktır.

on:
workflow_dispatch:

Peki kullanıcıdan ekstra değişkenler ve parametreler almak istiyorsak ne yapacağız. GitHub Actions içerisine farklı input alanları alan kısımlar ekleyebiliriz.

Input Types

Dropdown (Options)

on:
workflow_dispatch:
inputs:
logLevel:
description: "Log level"
required: true
default: "warning"
type: choice
options:
- info
- warning
- debug

CheckBox (Boolean )

on:
workflow_dispatch:
inputs:
print_tags:
description: "True to print to STDOUT"
required: true
type: boolean

Input (Text)

on:
workflow_dispatch:
inputs:
tags:
description: "Test scenario tags"
required: true

Environment

on:
workflow_dispatch:
inputs:
environment:
description: "Environment to run tests against"
type: environment
required: true

Variable Kullanımı

Steps içerisinde Variable $ ile erişebilirsiniz Örneğin aşağıda olduğu gibi

      - name: Print the input tag to STDOUT
run: echo The tags are ${{ inputs.tags }}

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--

No responses yet