본문 바로가기
공부/Kubernetes

[k8s/github] github workflow 실행시키는 k8s cronjob

by haejang 2024. 4. 19.
728x90
728x90

 

 

참고) https://honglab.tistory.com/310

 

[Github Workflow API] id 조회 & 실행 (dispatch)

# Github Action Workflow id 조회 curl \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token $GH_ACCESS_TOKEN" \ https://api.github.com/repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_FILENAME ex) curl \ -H "Accept: application/vnd.githu

honglab.tistory.com

 

 

주기적으로 CI/CD를 실행시켜줘야하는 앱이 있다.

이 앱의 CI/CD는 github action으로 구성되어 있기 때문에, 간단하게 주기적으로 curl을 날림으로써 배치를 완성시킬 수 있었다.

 

apiVersion: batch/v1
kind: CronJob
metadata:
  name: cicd-batch
spec:
  timeZone: "Asia/Seoul"
  schedule: "0 0 1,15 * *" # 매월 1일, 15일 정각에 실행
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  concurrencyPolicy: Replace
  jobTemplate:
    spec:
      backoffLimit: 2
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: cicd-batch
              image: curlimages/curl
              imagePullPolicy: IfNotPresent
              command:
                - curl
              args:
                - -X
                - POST
                - -H
                - 'Accept: application/vnd.github.v3+json'
                - -H
                - 'Authorization: token $GH_ACCESS_TOKEN'
                - https://api.github.com/repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_ID/dispatches
                - -d
                - '{"ref":"main"}'

 

 

$변수는 알아서 채워넣어 쓰면 된다.

 

 

 

728x90
728x90

댓글