개발 환경 구성
DAG 개발시 서버에서 직접 개발하지 않으며, 일반적으로 git을 활용한 CI/CD 환경을 주로 이용한다. Airflow 서버가 별도로 존재한다고 가정할 때, 코드 개발은 로컬에서 개발 후 완성된 코드를 서버로 배포하는 식으로 진행한다.
다음 명령어로 파이썬 버전을 확인하고 로컬에서 동일한 버전을 설치한다.
sudo docker exec -it {스케줄러 컨테이너ID} bash
default@~: python-V
가상 환경
파이참에서는 프로젝트마다 가상 환경 생성이 가능하다.
Git 구성
git 홈페이지에서 프로그램을 OS에 맞게 다운 받고, git 계정을 설정한다.
git config --global --edit
그 다음, 코드를 올리기 위한 github Repository 만들고, 레포지토리 권한을 얻기 위해 토큰을 생성한다.
Settings → Developer settings → Personal Access Tokens → Tokens (classic), 필요 권한 : repo |
로컬에서 작업하기 레포지토리를 git clone하고 파이참에서 다음과 같이 파일이 구성되도록 생성한다.
env 파일에는 다음과 같이 저장한다.
AIRFLOW_UID=1000
docker-compose.yaml 파일의 경우 설치한 Git 터미널에서 다음 명령어를 통해 작업 폴더에 다운받는다.
curl-LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.1/docker-compose.yaml'
그리고 docker-compose.yaml 파일의 volumes 항목을 수정한다.
volumes:
- /home/ubuntu/airflow/dags:/opt/airflow/dags
- /home/ubuntu/logs:/opt/airflow/logs
- /home/ubuntu/config:/opt/airflow/config
- /home/ubuntu/plugins:/opt/airflow/plugins
로컬 환경에서 파일 작성이 완료되었다면, git commit & git push를 진행한다.
$git branch -M master
$git status
$git add .
$git commit -m "first commit"
$git status
$git remote add origin https://github.com/{github ID}/airflow.git
$git push -u origin master
Username for 'https://github.com':github ID
Password for 'https://{user}@github.com':토큰
로컬에서 git credential 인증이 반복적으로 뜬다면 다음 명령어로 생략가능하다.
git config credential.helper store
github와 서버 연동
github와 서버의 Airflow 컨테이너와 연결된 디렉토리로 추가 연동이 필요하다. /home/ubuntu/docker-compose.yaml이 아닌 /home/ubuntu/airflow/docker-compose.yaml 파일을 이용해 컨테이너를 가동한다.
ubuntu~$ cd /home/ubuntu
ubuntu~$ git clone https://github.com/{github ID}/airflow.git
ubuntu~$ ls -al
ubuntu~$ cd airflow
ubuntu~$ ls -al
다음 명령어로 도커 컨테이너를 가동시킨다.
sudo docker compose up
'App Programming > Apache Airflow' 카테고리의 다른 글
[Apache Airflow] Python 오퍼레이터 (0) | 2024.06.17 |
---|---|
[Apache Airflow] Email 오퍼레이터 (0) | 2024.06.17 |
[Apache Airflow] Cron Schedule (0) | 2024.06.17 |
[Apache Airflow] DAG 개발 (0) | 2024.06.14 |
Apache Airflow (0) | 2024.06.14 |