Github Actions - schedule

2025. 9. 29. 16:02CI\CD/Github Actions

반응형

schedule event의 경우는 POSIX cron 문법으로 특정 시간/주기에 워크플로우를 자동으로 실행하게 하는 이벤트이다.

schedule의 등록은 

와 같이 on의 하위로 schedule로 이벤트를 걸고 여기에 - cron으로 시간을 지정한다.

각 시간은 

와 같이 자리마다 분, 시간, 날짜, 월, 주 같은 기준이 들어가며 *이 들어가면 매 분, 매 시간 등등에 이벤트가 발생하게 된다.

이는 

이렇게 각각의 operator에 대해서 작성되어 있는 기준에 따른다.

 

그리고 schedule 이벤트의 경우는 default branch에 workflow가 존재하는 경우에만 workflow를 실행한다.

 

 

그리고 이 스케쥴에 대한 잡은 씹히는 경우가 종종 발생하는 것 같다.

Github action의 schedule은 최대한의 노력(best-effort)에 대한거지 무조건 시간을 보장하는 것은 아니라고 한다.

큐가 지연되거나 러너가 부족하거나 리포의 비활성화 정책등으로 인해 지연되어 실행되거나 아예 실행 자체가 누락되는 경우가 있으니 꼭 어떤 시간때에 실행되어야만 하는 경우는 github action으로 스케쥴링은 하지 말고 외부에 신뢰성이 높은 스케쥴러를 대신 이용해서 사용하는 것이 좋을 것으로 보인다.

 

일단 예시를 하나 보여주고 마무리 하겠다

name: scheduled-job
on:
  schedule:
    # 매일 09:00 KST 실행 (KST=UTC+9 → 00:00 UTC)
    - cron: '0 0 * * *'

jobs:
  hello:
    runs-on: ubuntu-latest
    steps:
      - run: echo "스케줄 실행!"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'CI\CD > Github Actions' 카테고리의 다른 글

Github Actions - workflow 다중 이벤트 등록  (0) 2025.09.29
Github Actions - workflow dispatch  (0) 2025.09.29
Github Actions - Issues Comment  (0) 2025.09.29
Github Actions - Issues  (0) 2025.09.29
Github Actions - Pull Request  (0) 2025.09.27