Github Action
매일 몇시, 몇시간 마다, 또는 매주, 특정요일
이렇게 주기적으로 실행해야 하는 파이썬 코드가 있다면,
실행할 수 있는 서버가 필요하겠죠.
집에 놀고있는 데스크탑이나 노트북, 클라우드 서버등등.. 항상 켜둬야죠.
이럴 때, (일반적인 리소스만 사용한다면) Github Action 을 사용하면 됩니다.
매일 실행되는 파이썬 코드를 Github Action 을 사용해서 돌려보도록 하겠습니다.
1. Github Repository 생성.
이건 설명 없음
2. Action 에서 Python package 선택
상단 메뉴에 Action -> 검색창에 "python" Enter -> Python package 의 Configure 클릭
3. Config 설정
name : 이 job 의 이름을 설정합니다.
on > schedule 은 cron 으로 언제 실행할 지 설정합니다.
아래 설정은 매일 8시 0분에 실행하는것 입니다. cron 스케줄 설정은 여기를 참고하세요.
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Api call Python application
on:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
job 에 대해서 설정 합니다.
ubuntu 의 latest 버전을 사용하고,
steps 의 배열값을 실행 합니다.
action version2 를 checkout 하고, python 은 3.7 을 쓰고,
pip install 및 python 실행을 run 키워드를 사용해서 실행합니다.
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: "3.7"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run main.py
run: |
python venv/main.py
Install dependencies 는
위에서 생성한 Repository 에 python 을 실행하기 위한 dependencies 를 명시한 requirements.txt 를 root 경로에 둔 것입니다.
그리고 실행 시킬 python 파일을 repository 의 특정 경로에 push해 두고, Run main.py 에서 명령어에 경로를 지정하면 됩니다.
전체 설정 파일
on:
schedule:
- cron: '0 8 * * *'
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: "3.7"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run main.py
run: |
python venv/main.py
복잡하시다면, 여기에서 수정 해야할 것이.
- on > schedule > cron 에서 언제 실행될지 수정
- requirements.txt 파일을 root 경로에 두거나, 다른 경로에 두었다면 - name: Install dependencies 에서 경로를 수정
- 실행할 python 의 경로와 이름을 마지막 줄에 수정
설정을 다 입력했으면 우측 상단에 Start commit 을 클릭하고 Commit new file 을 클릭합니다.
작업이 바로 시작 되지 않습니다.
4. Coding
로컬에서 python 스크립트를 작성하려면, repository 를 clone 해서
python script 를 작성하고, 필요한 dependencies 를 requirements.txt 에 작성합니다.
그리고 commit, push 합니다.
5. Run
'Github' 카테고리의 다른 글
Git SSH 사용해서 clone 하기 (ssh key) (0) | 2023.08.08 |
---|---|
Git 설치 (Windows) (0) | 2023.03.22 |
[Github] personal access token 생성하기 (0) | 2021.11.09 |
[Markdown] 마크다운에서 접기 펼치기 사용 (1) | 2020.07.22 |
[Github] Repository 이동하기 clone/mirror (0) | 2020.07.20 |
댓글