본문 바로가기

DevOps/Github Actions

깃헙 액션(Github Actions) 사용하기 (2/2)

목차

1. push 이벤트로 깃헙 액션 실행

2. input 값으로 깃헙 액션 실행

3. 깃헙 액션 스케줄 실행

 

이번에는 여러 이벤트를 기반으로 깃헙 액션을 실행시켜 보겠습니다.

사용 소스는 깃허브에 있습니다.

 

 

1. push 이벤트로 깃헙 액션 실행

push 이벤트가 발생하면 hello-github-actions라는 job을 실행시키는 github actions입니다.

hello-github-actions 잡은 "chmod +x gradlew"와 "./gradlew clean build test" 명령어를 실행시키는 스텝을 가지고 있습니다.

name: hello-github-actions
run-name: ${{ github.actor }}의 헬로 깃허브

on: [push]

jobs:
  hello-spring-boot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'temurin'
      - run: chmod +x gradlew
      - run: ./gradlew clean build test

 

푸시가 발생하고 성공하면 다음과 같이 나옵니다.

 

만약 테스트가 실패하면 실패 메시지가 나옵니다.

2. input 값으로 깃헙 액션 실행

your_name과 your_age 인풋 값을 가진 워크플로우 파일입니다.

두 값을 받으면 echo 스크립트를 통해 받은 값을 출력하도록 했습니다.

 

name: hello-github-actions-with-inputs
run-name: ${{ github.actor }}의 헬로 깃허브
on:
  workflow_dispatch:
    inputs:
      your_name:
        required: true
        type: string
      your_age:
        required: true
        type: integer
jobs:
  hello-spring-boot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-java@v3
        with:
          java-version: '17'
          distribution: 'temurin'
      - run: chmod +x gradlew
      - run: ./gradlew clean build test
      - run: echo "Hello, ${{ inputs.your_name }}"
      - run: echo "Your age is ${{ inputs.your_age }}"

3. 깃헙 액션 스케줄 실행

5분마다 이벤트로 액션을 실행하게 했습니다.

 

name: hello-github-action-schedule
run-name: Execution a workflow by schedule

on:
  schedule:
    - cron: '*/5 * * * *'

jobs:
  cron:
    runs-on: ubuntu-latest
    steps:
      - name: Every 5 minute
        run: echo "Hello Github Action Schedule"

 

여기까지 깃헙 액션을 사용한 여러 예시를 확인해 봤습니다.

다음에는 깃헙 액션으로 자동 배포를 해보려고 합니다.

'DevOps > Github Actions' 카테고리의 다른 글

깃헙 액션(Github Actions) 사용하기 (1/2)  (0) 2023.06.01