[GitHub Actions] 수동으로 GitHub Actions 실행하기

2024-09-16 hit count image

수동으로 GitHub Actions를 실행하는 방법에 대해서 알아보겠습니다.

개요

GitHub Actions를 사용하다보면 수동으로 GitHub Actions를 실행해야 할 때가 있습니다. 이번 블로그 포스트에서는 GitHub Actions를 수동으로 실행하는 방법에 대해서 알아보겠습니다.

workflow_dispatch

GitHub Actions를 수동으로 실행하기 위해서는 workflow_dispatch를 사용해야 합니다.

이때, workflow_dispatchinputs을 통해 파라미터를 전달할 수 있습니다.

workflow_dispatch는 다음과 같이 설정할 수 있습니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:

inputs 타입

workflow_dispatchinputs에는 다음과 같은 종류가 있습니다.

  • boolean: true 또는 false
  • choice: 미리 지정된 옵션 중 하나를 선택할 수 있는 SelectBox
  • number: 숫자
  • string: 문자열
  • environment: GitHub에 설정한 환경 변수 사용

공식 문서에서도 사용 가능한 inputs 타입을 확인할 수 있습니다.

workflow_dispatchinputs은 다음과 같이 설정할 수 있습니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_boolean:
        description: 'This is a boolean input'
        required: true
        default: false
        type: boolean

inputstype이외에도 description, required, default를 설정할 수 있습니다. type이외에는 모두 선택 사항입니다.

예제

그럼 workflow_dispatch를 사용하여 GitHub Actions를 수동으로 실행하는 예제를 살펴보겠습니다.

boolean

수동으로 실행하는 GitHub Actions를 만들기 위해 .github/workflows/manual_test.yml 파일을 생성하고 다음과 같이 수정합니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_boolean:
        description: 'This is a boolean input'
        required: true
        default: false
        type: boolean

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    steps:
      - name: Print the input
        run: echo $

이렇게 작성한 파일을 commit하고 push한 후, GitHubActions 탭으로 이동하면 다음과 같은 화면을 확인할 수 있습니다.

Execute GitHub Actions manually - Boolean input

오른쪽에 표시된 Run workflow를 클릭하면 우리가 설정한 boolean 타입의 inputs를 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Execute GitHub Actions manually - Boolean input result

choice

수동으로 실행하는 GitHub Actions를 만들기 위해 .github/workflows/manual_test.yml 파일을 생성하고 다음과 같이 수정합니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_choice:
        description: 'This is a choice input'
        required: true
        default: 'warning'
        type: choice
        options:
          - info
          - warning
          - debug

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    steps:
      - name: Print the input
        run: echo $

이렇게 작성한 파일을 commit하고 push한 후, GitHubActions 탭으로 이동하면 다음과 같은 화면을 확인할 수 있습니다.

Execute GitHub Actions manually - Choice input

오른쪽에 표시된 Run workflow를 클릭하면 우리가 설정한 choice 타입의 inputs를 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Execute GitHub Actions manually - Choice input result

number

수동으로 실행하는 GitHub Actions를 만들기 위해 .github/workflows/manual_test.yml 파일을 생성하고 다음과 같이 수정합니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_number:
        description: 'This is a number input'
        required: true
        default: 20
        type: number

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    steps:
      - name: Print the input
        run: echo $

이렇게 작성한 파일을 commit하고 push한 후, GitHubActions 탭으로 이동하면 다음과 같은 화면을 확인할 수 있습니다.

Execute GitHub Actions manually - Number input

오른쪽에 표시된 Run workflow를 클릭하면 우리가 설정한 number 타입의 inputs를 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Execute GitHub Actions manually - Number input result

string

수동으로 실행하는 GitHub Actions를 만들기 위해 .github/workflows/manual_test.yml 파일을 생성하고 다음과 같이 수정합니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_string:
        description: 'This is a string input'
        required: true
        default: 'Hello, World!'
        type: string

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    steps:
      - name: Print the input
        run: echo $

이렇게 작성한 파일을 commit하고 push한 후, GitHubActions 탭으로 이동하면 다음과 같은 화면을 확인할 수 있습니다.

Execute GitHub Actions manually - String input

오른쪽에 표시된 Run workflow를 클릭하면 우리가 설정한 string 타입의 inputs를 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Execute GitHub Actions manually - String input result

environment

workflow_dispatch의 에서 environment 타입을 사용하기 위해서는 GitHubSettings에서 Environment를 설정해야 합니다.

Execute GitHub Actions manually - Environments

New environment를 클릭하고 다음과 같이 Namedev를 입력한 후, Configure environment를 클릭합니다.

Execute GitHub Actions manually - New Dev Environment

그런 다음 Environment variablesAdd environment variable 버튼을 누르고 다음과 같이 Variable을 추가합니다.

Execute GitHub Actions manually - Dev environment variable

동일한 방식으로 prod라는 환경에도 동일한 변수를 추가합니다.

Execute GitHub Actions manually - Prod environment variable

이제 수동으로 실행하는 GitHub Actions를 만들기 위해 .github/workflows/manual_test.yml 파일을 생성하고 다음과 같이 수정합니다.

name: GITHUB ACTIONS NAME

on:
  workflow_dispatch:
    inputs:
      input_environment:
        description: 'This is a environment input'
        required: true
        type: environment

jobs:
  deploy-to-staging:
    runs-on: ubuntu-latest
    environment: $
    steps:
      - name: Print the input
        run: echo $

이렇게 작성한 파일을 commit하고 push한 후, GitHubActions 탭으로 이동하면 다음과 같은 화면을 확인할 수 있습니다.

Execute GitHub Actions manually - Environment input

오른쪽에 표시된 Run workflow를 클릭하면 GitHubSettings에서 Environment에 설정한 값이 표시되는 것을 확인할 수 있습니다. 이를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

  • dev 환경
Execute GitHub Actions manually - Environment input result dev
  • prod 환경
Execute GitHub Actions manually - Environment input result prod

완료

이것으로 GitHub Actions를 수동으로 실행하는 방법에 대해서 알아보았습니다. 또한 설정 가능한 inputs 타입에 대해서도 알아보았습니다.

여러분도 workflow_dispatch와 다양한 타입의 inputs을 사용하여 GitHub Actions를 수동으로 실행해보세요.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts