AWS EC2 ์๋ฒ ๊ตฌ์ถ(Git)
AWS EC2 ์๋ฒ ๊ตฌ์ถ(Git)
๊ฐ์
์๋ฒ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ์ ๋ง ๋ง์ด ์์ง๋ง, ์ฐ์ Git์ ์ฌ์ฉํ ๊ฐ๋จํ ํํ๋ก ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ ,์ด ๋ฐฉ๋ฒ์ AWS์ ์ ํ ์์กดํ์ง ์์ต๋๋ค. (์ข๊ฑฐ๋ ๋์๋ค w)
์ ์ฐจ
1. Git ์ค์น
Git์ ์๋ฒ์ ์ค์นํฉ๋๋ค.
$ sudo yum install -y git
$ git version
git version 2.23.4
2. ํค ํ์ด ์์ฑ ๋ฐ Github์ ๋ฑ๋ก
2-1. ๋น๋ฐํค๋ฅผ ๋๋ ์ฅ์๋ก ์ด๋
cd ~/.ssh
2-2. ๋น๋ฐํค ์์ฑ
ssh-keygen -t rsa -b 4096
์ฌ๋ฌ๊ฐ์ง ๋ฃ์ต๋๋ค๋ง, ์ ๋ถ
Enter
๋ก OK์
๋๋ค.๋น๋ฐํค์ ๊ถํ๋ ์ ํํด ๋ก์๋ค.
chmod 600 id_rsa
2-3. ๊ณต๊ฐํค์ ๋ด์ฉ์ ๋ณต์ฌ
cat ~/.ssh/id_rsa.pub
2-4. Github ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ณต๊ฐ ํค ๋ฑ๋ก
Github์ ์ก์ธ์คํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฝ๋๋ค.
๋ฉ๋ด์์ "Setting"์ ์ ํํ์ญ์์ค.
Add deploy key๋ฅผ ํด๋ฆญํฉ๋๋ค.

2-3.์์ ๋ณต์ฌํ ๊ณต๊ฐํค์ ๋ด์ฉ์ ๋ถ์ฌ๋ฃ์ต๋๋ค.
"Title"์ ์๊ธฐ ์ฌ์ด ์ด๋ฆ์ ์ง์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.

2-5. ์๋ฒ์์ ์ฐ๊ฒฐ ํ์ธ
ssh -T git@github.com
You've successfully authenticated
๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ธํ ์ ์์ผ๋ฉด OK์
๋๋ค.3. ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณต์
# ใในใใใฃใฌใฏใใชใไฝๆใใฆใๆจฉ้ใจๆๆ่
ใๅคๆดใใพใใ
sudo mkdir /test
sudo chmod -R 775 /test
sudo chown -R ec2-user:ec2-user /test
cd /test
git init
git clone git@github.com:test/test-repository.git
๋ค
๋งค๋ฒ ์๋์ผ๋ก SSH ์ฐ๊ฒฐํ๊ณ ๋ฐฐํฌํ๋ ๊ฒ์ ๊ท์ฐฎ์ ๊ฑฐ๊ธฐ ๋น์ ์๊ฒ
์ ์คํฌ๋ฆฝํธ๋ฅผ ์ค๋นํ์ฌ ์ ์คํ๋ง์ผ๋ก ๋ฐฐํฌํ ์ ์๋๋ก ํฉ๋๋ค.
๊ตฌ์ฑ
๋ก์ปฌ ํ๊ฒฝ์ ๋ค์์ 2 ๊ฐ์ ์ ํ์ผ์ ์ค๋นํฉ๋๋ค.
deploy.sh
๋ ๋ก์ปฌ์์ ์คํ๋๋ ์ ํ์ผ์ด๊ณ exec.sh
๋ ์๊ฒฉ ์๋ฒ์์ ์คํ๋๋ ์ ํ์ผ์
๋๋ค..
โโโ deploy.sh
โโโ exec.sh
๋ก pใ y. sh
SSH ์ฐ๊ฒฐํ์ฌ ๋์์์
exec.sh
๋ฅผ ์คํํฉ๋๋ค.deploy.sh
#!/bin/sh
HOST=XXX.XXX.XXX.XXX
USER=ec2-user
PRIVATE_KEY="~/.ssh/private.pem"
ssh -i ${PRIVATE_KEY} ${USER}@${HOST} < exec.sh
์ c. sh
์๊ฒฉ ์๋ฒ์์ ์คํํ๊ณ ์ถ์ ๊ฒ์ ์์ฑํ์ญ์์ค.
์ด๋ฒ์
git pull
๋ง ์ค์ํ๋๋ก ํ๊ณ ์์ต๋๋ค.exec.sh
# git pull
cd /test/test-repository
git checkout master
git pull origin master
์คํ
๋ก์ปฌ์์
deploy.sh
๋ฅผ ์คํํ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค.sh deploy.sh
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(AWS EC2 ์๋ฒ ๊ตฌ์ถ(Git)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://qiita.com/A-Kira/items/dc271c0b1aaed77bd490ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค