github action으로 cron schedule 무료로

너무 좋은 세상에 살고 있는것 같습니다

 

전에는 크론잡만 실행할 서버를 띄우기도 했었는데 github action을 사용해서 같은 일을 비용없이 손쉽게 처리할수 있으니 

 

세상 참 좋아진것을 다시한번 느낍니다.

 

 

프로젝트의 root디렉토리 기준으로 .github/workflows 폴더에 yml 파일을 만들어 원하는 명령어들을 입력하여

 

github repository에 푸시하면 해당 파일을 읽어 명령대로 정해진 스케줄에 특정 스크립트가 실행되도록 설정이 가능합니다

 

CI/CD용으로 활용하라는 의미이겠지만

 

꼭 CI/CD용으로 사용하지 않아도 되죠

 

 

nodejs 샘플입니다

 

위의 명령어는

 

UTC 기준 매일 0시에

 

ubuntu, nodejs v12에서 

 

npm ci

npm run build --if-present

npm start

 

이렇게 명령어를 순차적으로 실행하게 됩니다

 

 

상세한 문법은 아래의 github 사이트에서 참고하세요

 

github.com/features/actions

 

Features • GitHub Actions

Easily build, package, release, update, and deploy your project in any language—on GitHub or any external system—without having to run code yourself.

github.com

 

주의사항1.

 

github document에는

 

"The shortest interval you can run scheduled workflows is once every 5 minutes."

 

라고 언급되어있습니다

 

스케줄에 

 

*/1 * * * *

 

이런식으로 매분 동작하는 스케줄을 넣어도 매1분마다 실행되지 않습니다.

 

 

주의사항2.

 

github도 default 브랜치를 master가 아닌 main을 사용합니다

 

그래서 해당 yml 파일은 master가 아닌 main 브랜치에 있어야 합니다.

 

이참에 master를 main으로 바꾸어보아요

 

 

 

 

 

| 1 | ··· | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ··· | 236 |