ํ์ธ private repo ์ฐ๊ฒฐํ ๋๋ ํ์ธ ssh ๊ณต๊ฐํค๋ฅผ ๋ฐ์์ ๋ด ssh(๊นํ๋ธ)์ ๋ฃ์ด์ค์ผํ๋ค.
๐ต
1. git ์ด๊ธฐํ : git init
2. git add .
3. ์ปค๋ฐ ๋ฉ์์ง์์ฑ: git commit -m 'first commit'
4. git remote add origin SSH์ฃผ์
5. ๋ธ๋์น ๋ง๋ค๊ธฐ: git branch -M main
6. push : git push -u origin main
๐ตcase1 ๋ง์ฝ push๋ฅผ ํ๋๋ฐ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค๋ฉด
git push -u origin main --force ์ด๋ ๊ฒ ์ ๋ ฅํด๋ณด๋ผ.
๐ต case2 ๋ง์ฝ ํ์์ ํ ๋ main์ ๋๊ตฐ๊ฐ๊ฐ ํ์ผ์ ์ฌ๋ ค๋จ๋๋ฐ ๋ด ํ์ผ๊ณผ ์๋ฌด์๊ด์ด์์ด์ ์๋ฌ๊ฐ ๋ฌ๋ค๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
์ฐ์ main๋ง๊ณ (์๋ง ๋ค๋ฅธ ํ์์ด main์ ๋ง๋ค์ด๋จ๊ธฐ๋๋ฌธ์ ์ด์ฐจํผ branch๋ฅผ ๋ง๋ค์ด์ผํ๋ค.) branch๋ฅผ ๋ง๋ค์ด์ค๋ค.
1. git checkout main (checkout๋ป์ด cd๋ ๊ฐ์): git chechout์ผ๋ก main์ผ๋ก ์ด๋
2. git merge JYY
(์ด๊ฑฐ ๋ช ๋ น์ด๋ฅผ ์ณค๋๋ฐ ์๋์ ๊ฐ์ ์ค๋ฅ๋จ๋ฉด 3๋ฒ ์ฝ๋๋ฅผ ๋ฃ๋๋ค. ๊ธฐ์กด์ ์๋ ์ฝ๋๋ ํธ์ฌํ๋ ค๋ ์ฝ๋ ๋์ ์ฐ๊ด๊ด๊ณ๊ฐ ์์ด์ ์ค๋ฅ๊ฐ ๋จ๋๊ฒ์.)fatal: refusing to merge unrelated histories
- git merge JYY --allow-unrelated-histories
๐ต git cloneํ ๋
1. git clone <๋์ ๊นํ๋ธ HTTPS ์ฃผ์>
2. npm install yarn
3. yarn
4. (ํ๋ฆฌ์ฆ๋ง๋ฅผ ์ด์ฉํ๊ณ , db๋ฅผ ์ด์ฉํ๋ค๋ฉด) npm prisma db push
5. (ํ๋ฆฌ์ฆ๋ง๋ฅผ ์ด์ฉํ๊ณ , db๋ฅผ ์ด์ฉํ๋ค๋ฉด) npx prisma generate
๐ต pullํ ๋ (์ฌ์ค pull์ ์ํด์ ์ ๋ชจ๋ฆ)
git pull origin main
git pull origin dev --allow-unrelated-histories
์ฐธ๊ณ
https://doing7.tistory.com/6
ec2 => ์ธ์คํด์ค ์์ => ์ฐ๋ถํฌ(์๋ ์ฌ์ง ์ฐธ์กฐ) => ์ธ์คํด์ค ์ ํ(t2.micro์๋ ์ฌ์ง ์ฐธ์กฐ) => ํค ํ์ด(์๋ก ๋ง๋ค๊ฑฐ๋ ์๋๊ฑฐ ์ฌ์ฉํค ํ์ด ํ์ผ ์์น ์ด๋์๋์ง ํ์ธ ์๋ง) => ์ธ์คํด์ค ์์ ๋ฐ ์ข ๊ธฐ๋ค๋ฆฌ๊ธฐ
cd Downloads //Downloads ํด๋๋ก ์ด๋ ls //ํ์ผ ๋ฆฌ์คํธ ํ์ธํ์ฌ ํคํ์ด ์๋์ง ํ์ธ
//ํด๋ ๋๋๋ฐ ์๋์ฐ์์๋ ์ํด๋ ๋ ์ง๋...์ผ๋จ ์ ๋ ์ํจ. //sparta_keypair.pem ํ์ผ์ ๊ถํ์ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๋๋ก ์์ sudo chmod 400 sparta_keypair.pem
ssh -i ๋ฐ์ํคํ์ด๋ฅผ๋์ด๋ค๋๊ธฐ ubuntu@AWS์์ ํ๋ด์์ดํผ //์์) ssh -i sparta_keypair.pem ubuntu@13.125.253.21
- ์ฌ๊ธฐ์ AWS์ ์ ํ ๋ด ์์ดํผ๋ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์์.
- Key fingerprint ๊ด๋ จ ๋ฉ์์ง๊ฐ ๋์ฌ ๊ฒฝ์ฐ Yes๋ฅผ ์ ๋ ฅ
- git bash๋ฅผ ์ข ๋ฃํ ๋๋
exit
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ssh ์ ์์ ๋จผ์ ๋์ด์ฃผ์ธ์.
3-2๊น์ง ์๋ฃํ ๋ชจ์ต
์์ ๊ฐ์ ubuntu๊ฐ ๋์ค๊ณ ๋์ ์ค์นํ๋ ๊ฑฐ์
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs
์์ ์ฝ๋๋ฅผ ์
๋ ฅํ๋ฉด ์๋์ ๊ฐ์ ๊ฒ๋ค์ด ๋จ๋๋ฐ ๋นํฉํ์ง ์๊ณ ๊ธฐ๋ค๋ฆฌ๋ฉด ์ค์น๋๋ค. ์๊ฐ์ด ์ข ์์๋จ.
์์์ ์๋์ ๊ฐ์ script depercation warning ์ด์ฉ๊ตฌ๊ฐ ๋จ๋ ์ด์ ๋ ๋ฒ์ ์ด ๋ฎ์์์๋ค.(์ผ๋ง์ ์
๋ฐ์ดํธ ๋์๋ค๊ณ ..!)
์ฌ์ค ์ ๋ฒ์ ์ฉ์ผ๋ก ๊ทธ๋ฅ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ์ค์น๋๊ธธ ๊ธฐ๋ค๋ ค๋ ๋๋๋ฐ ์
๋ฐ์ดํธ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํด๋ ๋๋ค.
์
๊ทธ๋ ์ด๋ ๋ ์ฝ๋๋ ์ฌ๊ธฐ์ ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
https://github.com/nodesource/distributions
ํํ์ด์ง ๋ณด๋ฉด์ ์ฐพ๊ธฐ ๋ฒ๊ฑฐ๋ก์ฐ๋๊น ๊ฐ๊ณ ์๋ค.
curl -SLO https://deb.nodesource.com/nsolid_setup_deb.sh chmod 500 nsolid_setup_deb.sh ./nsolid_setup_deb.sh 21 apt-get install nodejs -y
๋ค ์๋ฃ๋๋ฉด ์๋์ ๊ฐ์ ๋ช ๋ น์ด ์ ๋ ฅํ ์ ์๋๊ฒ ๋จ๋ ๊ธฐ๋ค๋ ธ๋ค๊ฐ
์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํด์ ์ ์ค์น๊ฐ ๋๋ ํ์ธํ๋ฉด ๋จ
# ์ค์น๋ Node.js ๋ฒ์ ํ์ธํ๊ธฐ node -v # ์ค์น๋ npm ๋ฒ์ ํ์ธํ๊ธฐ npm -v
์ฌ๊ธฐ์ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ private์ ํ๋๋ public์ผ๋ก ํ๋๋ ๊ฐ๋ฆฐ๋ค.
github์ ๋ค์ด๊ฐ์ https ๊ฐ๊ณ ์ค๊ธฐ
# ์๊ฒฉ ์ ์ฅ์๋ก ๋ถํฐ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ git clone <Github Repository URL> # ์์ git clone https://github.com/archepro84/nodejs-todo-list.git
//โโโโ์ถ๊ฐ: ๋ธ๋์น๋ฅผ ํด๋ก ํ๊ธฐโโโโ git clone -b ๋ธ๋์น์ด๋ฆ <Github Repository http URL >
username: ๊นํ๋ธ id
password: ๊นํ๋ธ pw
ํด๋ก ํ ๋๋ถํฐ ์กฐ๊ธ ๋ค๋ฅด๋ค.
์ฐ์ ๊นํ๋ธ์ ๋ค์ด๊ฐ์ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์์ผํ๋ค.
setting -> (๋งจ ๋ฐ)Developer settings -> tokens(classic)์ผ๋ก ๋ค์ด๊ฐ ํ ํฐ์ ๋ฐ๋๋ค!
์์ง๋ง๊ณ ๋ ํฌ์ ๊ดํ ์ค์ฝํ๋ฅผ ๋ค ์ค์ ํด์ค๋ค. ์ค์ฝํ ์ค์ ์ ์๋๋ค๋ฉด ์ ์ฒด ์ ํ๋ง๊ณ ํ๋ํ๋ ์ ํํด๋ณด๋ฉด ๋๋ค.
ํ ํฐ์ ๋ฐ๊ธ๋ฐ๊ณ gitbash์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ํด๋ก ์ ํ๋ฉด ๋๋๋ฐ ๋ฐฉ๋ฒ 1,2๊ฐ ์๋ผ์ ๋ฐฉ๋ฒ3์ผ๋ก ํด๊ฒฐ๋ดค๋ค.
๋ฐฉ๋ฒ 1
git clone https://github.com/username/repo.git Username: <token> Password:
๋ฐฉ๋ฒ2
git clone https://<token>:x-oauth-basic@github.com/owner/repo.git
(@๋ค์๋ถํฐ ๋ฐฐํฌํ๋ ค๋ ๋ ํฌ ์ฃผ์)
๋ฐฉ๋ฒ3
git clone https://<token>@github.com/owner/repo.git
(@๋ค์๋ถํฐ ๋ฐฐํฌํ๋ ค๋ ๋ ํฌ ์ฃผ์)
์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํด๋ดค๋๋ฐ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋จ๋ฉด์ ์ ์์ ์ผ๋ก ์คํ์ด ์๋๋ค.
๊ทธ๋ผ ์๋์ ๊ฐ์ ๊ถํ์ ๋ ์ค์ ํ ํฐํค๋ฅผ ๋ค์ ๋ฐ๊ธ๋ฐ์๋ณด์.
๊ทธ๋ฌ๋๋ ํด๋ก ์ฑ๊ณต!
[์ฐธ๊ณ ์๋ฃ]
https://github.blog/2012-09-21-easier-builds-and-deployments-using-git-over-https-and-oauth/
https://griffinchoidayday.tistory.com/29
https://earth-95.tistory.com/192
https://jonhyuk0922.tistory.com/233
cd ํ๋ก์ ํธ ์ด๋ฆ
: ์๊ฒฉ ์ ์ฅ์๋ก๋ถํฐ ๊ฐ์ ธ์จ ํ๋ก์ ํธ๋ก ์ด๋.sudo npm install -g yarn
: yarn์ ์ฌ์ฉํ๊ธฐ ์ํด, ์ ์ญ์ผ๋ก yarn์ ์ค์น.yarn
: ์๊ฒฉ ์ ์ฅ์๋ก ๋ถํฐ ๊ฐ์ ธ์จ ํ๋ก์ ํธ์ ์์กด์ฑ ๋ฐ ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.node app.js
: ํ๋ก์ ํธ๋ฅผ ์คํํฉ๋๋ค.
๋ง์ฝ 4๋ฒ์งธ node app.js๋ฅผ ์คํํ ๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฌ๋ค? ๊ทธ๋ ๋ค๋๊ฑด ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ์ app.js๊ฐ ์๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์
์ด๊ฒ์ฒ๋ผ cd์ ls๋ฅผ ์ด์ฉํด์ ํ์ผ์ ์ฐพ์์ ์คํํด์ฃผ๋ฉด ๋๋ค.
๊นํ๋ธ์ ํ์ผ์ ์
๋ก๋ํ ๋ .envํ์ผ์ ์์ฌ๋ผ๊ฐ๋ฏ๋ก AWS EC2 ๋ฐฐํฌ์ .env๋ฅผ ๋ง๋ค์ด์ค์ผํ๋ค.
์ค์ํ์ root ํด๋ ๋๋ ํ ๋ฆฌ์์ .env๋ฅผ ๋ง๋ค์ด์ผํ๋ค. (์๋์๋ ์์ง๋ง ์ต๋ํ ๋ก์ปฌํ๊ฒฝ์์ ๋ง๋ค๋ ํด๋๊ตฌ์กฐ์ ๋น์ทํ๊ฒ ํ๊ธฐ์ํด์์.)
์ฐ์ ์์์ node app.js๋ก ์คํํ๋ ์๋ฒ๋ฅผ ๊บผ์ค๋ค.(ubuntu ํ๊ฒฝ์์ ์๋ ์ค์)
๋ฐฉ๋ฒ์ ๋๊ฐ์ง๊ฐ ์๋ค. ์ ๋ง๋๋ก ๊ณจ๋ผ์ก์ผ์๊ธธ
//.env ํ์ผ ์์ฑ ๋ง๋ค๊ธฐ nano .env //.envํ์ผ ๋ด์ฉ ๋ฃ๊ธฐ ๊ธฐ์กด์ ๋ง๋ค์ด๋๋ .env ํ์ผ ๋ด์ฉ์ ๊ทธ๋๋ก ๋ณต๋ถํ๋ค. DATABASE_URL="mysql://<์์ด๋>:<๋น๋ฒ>@e<์๋ํฌ์ธํธ>:<ํฌํธ๋๋ฒ>/<DB์ด๋ฆ>"
์ ์ฅํ๊ณ ๋์จ๋ค : ^x(ctrl + x) ๋๋ฅด๊ธฐ => y ๋๋ฅด๊ธฐ => ์ํฐ
cat > .env //์ํฐ //์๋ ๋ด์ฉ ์ ๋ ฅ -> ์ํฐ -> ctrl + d ๋๋ฌ์ ํ์ผ ๋์ค๊ธฐ DATABASE_URL="mysql://<์์ด๋>:<๋น๋ฒ>@e<์๋ํฌ์ธํธ>:<ํฌํธ๋๋ฒ>/<DB์ด๋ฆ>"
๋ง์ฝ .env๊ฐ ์๋ง๋ค์ด์ก๋ ๊ถ๊ธํด์ ls ๋ฅผ ์
๋ ฅํ๋๋ฐ๋ ์๋์จ๋ค๋ฉด
ls -al
๋ฅผ ํ๋ฉด ๋๋ค. ๋ญ ์จ๊นํ์ผ๋ก ๋์ด์์ด์ ์๋์ค๋๋ชจ์์ธ๋ฐ ls -al ํ๋ฉด ์ ๋์จ๋ค._
prisma ๋ค๋ฅธ ํ๊ฒฝ์์ ์ฌ์ฉ ์ ๊ผญ generate๋ฅผ ํด์ค์ผํ๋ค.
//ํน์ ๋ชจ๋ฅด๋๊น ๊ผญ ํ ๋ฒ ํด์ค๋ค. npx prisma generate
prisma ์คํ ์ npx prisma generate ํด์ผํ๋ค. ์ํด๋ ๋ ์๋..ํด์ผํ ์๋..prisma๋ฅผ ์ด์ฉํด์ ๋ด๊ฐ ์ฐ๋ ๋ก์ปฌํ๊ฒฝ์ด ์๋๊ณ , ๋ฐฐํฌํ ๋๋ ๋ค๋ฅธ ์ฌ๋์ด github์์ pull, clone ๋ฑ๋ฑ....ํด์ ์ธ ๋ ๋ญ๊ฐ ์๋ ๋๊ฐ ์๋๋ฐ ๊ทธ๋ ์์ ๋ช ๋ น์ด๋ฅผ ์จ์ฃผ๋ฉด ๋ ์๋ ์๋ค. ์๋๋ฉด ๋ค๋ฅธ ์ด์ ๊ฒ ์ง...
์ํผ ๋ค์ node app.js๋ฅผ ์คํํ๋ฉด ์ ์์ ์ผ๋ก ํ๊ฒฝ๋ณ์๊ฐ ์ค์ ๋์ด ์๋์๊ฐ๋๊ฑธ ํ์ธํ ์ ์๋ค.
# Linux์ ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ์ ํ sudo -s #pm2 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ global๋ก ์ค์น yarn global add pm2
์คํํ๋ฉด ์๋์ ๊ฐ์ด ๋ฌ๋ค.
# pm2 ๋ก app.js ํ์ผ์ ์คํ pm2 start app.js
๊ทธ๋ผ์๋ ์ ์์ด ์๋๋ค๋ฉด ์ธ์คํด์ค ์ธ๋ฐ์ด๋ ๊ท์น์ ์์ง ์์ ์ํ๊ฒ.
๊ธฐ์กด ๋ด๊ฐ ์ค์ ํด๋ ํฌํธ ๋ฒํธ๋ก ์์ ํด์ผํจ