์š”์•ฝ


0. ๋“ค์–ด๊ฐ€๋ฉฐ

Oracle Cloud๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Aiflow ๋ฐ Postgresql ๊นŒ์ง€ ๊ตฌ์ถ•ํ•˜์˜€๋‹ค.

์ด์ œ ์„œ๋ฒ„ ๋‚ด Airflow ํ”„๋กœ์ ํŠธ๋ฅผ Github์™€ ์—ฐ๋™ํ•˜์—ฌ ๊ด€๋ฆฌํ•ด๋ณด์ž.

์„œ๋ฒ„๊ฐ€ Github์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ์„œ๋ฒ„์šฉ SSH Key ๋ฅผ ์ƒ์„ฑํ•ด์„œ Gihub์— ๋“ฑ๋กํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

1. SSH Key

์ƒ์„ฑ ๋ฐ ๋ณต์‚ฌ

  1. ํ”„๋กœ์ ํŠธ ํด๋” ์ ‘๊ทผ: ์ €์ž๋Š” airflow ๋‚ด ํด๋”์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌ
  2. ํ‚ค ์ƒ์„ฑ: ed25519 ๋ฐฉ์‹ ํ™œ์šฉ
  3. ํ‚ค ๋ณต์‚ฌ: ssh-ed25519 AAAAA... ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ์ „์ฒด ๋ณต์‚ฌ
cd airflow
# ํ‚ค ์ƒ์„ฑ
ssh-keygen -t ed25519 -C "oracle-server-to-github"
# ํ‚ค ๋ณต์‚ฌ
cat ~/.ssh/id_ed25519.pub

ssh-keygen์„ ํ†ตํ•ด key๋ฅผ ์ƒ์„ฑํ•œ ํ›„, Enter ํ‚ค๋ฅผ 3๋ฒˆ ๋ˆ„๋ฅธ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„ ๊ธฐ๋ณธ๊ฐ’, ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์„์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

ed25519๋ž€?

  • ํ˜„์žฌ ๊ฐ€์žฅ ์ถ”์ฒœ๋˜๋Š” ์ตœ์‹  ์•”ํ˜ธํ™” ๋ฐฉ์‹
  • ๊ณผ๊ฑฐ RSA ๋ฐฉ์‹์€ ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ๊ธธ๊ณ , ์ˆ˜ํ•™์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์žก์•„๋จน์Œ
  • ์ด๋ฅผ ๊ฐœ์„ ํ•ด์„œ ๋‚˜์˜จ ๊ฒƒ์ด ed25519(Edward-curve Digtal Signature Algorithm)์œผ๋กœ RSA๋ณด๋‹ค ํ‚ค ์ƒ์„ฑ๊ณผ ๊ฒ€์ฆ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฆ„

Github ๋“ฑ๋ก

  1. GitHub ์›น์‚ฌ์ดํŠธ ์„ค์ •(Settings) SSH and GPG keys.
  2. New SSH key ํด๋ฆญ.
  3. Title: Oracle Cloud Server
  4. Key: ๋ณต์‚ฌํ•œ ๋‚ด์šฉ ๋ถ™์—ฌ๋„ฃ๊ธฐ ์ €์žฅ.

2. Github ์—ฐ๋™

์ •๋ณด ๋“ฑ๋ก ๋ฐ ํด๋” ์ดˆ๊ธฐํ™”

# ๋‚ด ์ •๋ณด ๋“ฑ๋ก
git config --global user.name "๋ณธ์ธ_๊นƒํ—ˆ๋ธŒ_์•„์ด๋””"
git config --global user.email "๋ณธ์ธ_์ด๋ฉ”์ผ"
# ํ”„๋กœ์ ํŠธ ํด๋” ์ดˆ๊ธฐํ™”
cd ~/airflow
git init
git branch -M main

๋ณด์•ˆ ๋ฐ ์ค‘์š” ํŒŒ์ผ ์ œ์™ธ

  • .gitignore ํŒŒ์ผ ์ƒ์„ฑ ํ›„ ๊ฐ€์ƒํ™˜๊ฒฝ ํŒŒ์ผ์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š๋„๋ก ๋ฐฉ์–ด
.env
.venv/
logs/
plugins/__pycache__/
dags/__pycache__/
__pycache__/
*.pyc

์—ฐ๊ฒฐ ๋ฐ ์—…๋กœ๋“œ

  1. GitHub ์›น์‚ฌ์ดํŠธ์—์„œ New Repository๋ฅผ ๋ˆŒ๋Ÿฌ ์ €์žฅ์†Œ ์ƒ์„ฑ
  2. ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ (Remote Add): ์ƒ์„ฑ๋œ ํŽ˜์ด์ง€์˜ SSH ํƒญ์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ
# ๋ ˆํฌ์ง€ํ† ๋ฆฌ์™€ ์—ฐ๊ฒฐ
git remote add origin git@github.com:์•„์ด๋””/๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ช….git
# ์—…๋กœ๋“œ
git add .
git commit -m "init: Airflow setup"
git push -u origin main

์ฐธ๊ณ ์‚ฌ์ดํŠธ