66651
๐Ÿ‘€
66651
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (57)
    • note (28)
    • log (13)
    • error (9)
    • etc (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
66651

๐Ÿ‘€

AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (1)
log

AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (1)

๐Ÿ ์ •์  ์›น ์‚ฌ์ดํŠธ ๋ฐฐํฌ

 

AWS ์ฝ˜์†”์—์„œ S3 ์„œ๋น„์Šค ์‚ฌ์šฉ

AWS ์ฝ˜์†”๋กœ ์ด๋™ํ•œ๋‹ค.

https://us-east-1.console.aws.amazon.com/console/home

 

https://us-east-1.console.aws.amazon.com/console/home

 

us-east-1.console.aws.amazon.com

 

 

๊ฒ€์ƒ‰์„ ํ†ตํ•ด S3 ์„œ๋น„์Šค๋กœ ์ด๋™ํ•œ๋‹ค.

 

 

 

๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ ๋ฒ„ํ‚ท ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฒ„ํ‚ท์€ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ ๊ตฌํš์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ๋ฒ„ํ‚ท์„ ์ƒ์„ฑํ•œ๋‹ค.

 

 

๋ฒ„ํ‚ท ์ด๋ฆ„์™€ AWS ๋ฆฌ์ „ ์„ธํŒ…ํ•œ๋‹ค.

 

 

๊ฐ์ฒด ์†Œ์œ ๊ถŒ์€ ๊ถŒ์žฅํ•˜๋Š” ์„ธํŒ…์ธ ACL ๋น„ํ™œ์„ฑ์œผ๋กœ ๋‘”๋‹ค.

 

 

๋ฒ„ํ‚ท์˜ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ์„ค์ •์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ์ฐจ๋‹จ์„ ํ•ด์ œํ•œ๋‹ค.

 

 

๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ๋ฒ„ํ‚ท์„ ์ƒ์„ฑํ•œ๋‹ค.

 

 

์ƒ์„ฑ๋œ ๋ฒ„ํ‚ท ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๋ฒ„ํ‚ท ์•ˆ์— ์ €์žฅํ•ด๋‘” ํŒŒ์ผ์„ ๊ฐ์ฒด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

์›น ์‚ฌ์ดํŠธ๋กœ ๋ฐฐํฌํ•˜๊ธฐ

CRA์—์„œ npm run build ๋ฅผ ํ†ตํ•ด ๋นŒ๋“œํ•œ ํŒŒ์ผ์„ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œํ•œ๋‹ค.

 

 

์†์„ฑ ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค

 

 

์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ํŽธ์ง‘์„ ํ™œ์„ฑํ™”ํ•œ๋‹ค.

์ธ๋ฑ์Šค ๋ฌธ์„œ๋ž€์— index.html์„ ๊ธฐ์ž…ํ•œ๋‹ค.

 

 

์ €์žฅ ์‹œ ๋ฐฐํฌ url์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜์ง€๋งŒ url์— ์ ‘์† ์‹œ 403 ์˜ค๋ฅ˜๋กœ ์ ‘๊ทผ์ด ์•ˆ ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ถŒํ•œ ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

 

 

๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

ํ˜„์žฌ ๋ฒ„ํ‚ท์— ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ •์ฑ…์„ ์„ค์ •ํ•œ๋‹ค.

์•„๋ž˜๋Š” ์˜ˆ์‹œ json ์ฝ”๋“œ์ด๋‹ค

Statement์˜ Resource์—๋Š” ์ž์‹ ์˜ ๋ฒ„ํ‚ท ARN์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<bucket-name>/*"
        }
    ]
}

 

 

๊ถŒํ•œ ์„ค์ • ํ›„ ๋ฐฐํฌ ๋งํฌ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•ด๋ณด๋ฉด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 


๐Ÿ AWS CLI์„ ํ™œ์šฉํ•ด์„œ ๋ฐฐํฌํ•˜๊ธฐ

 

AWS CLI ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋งค ๋ฒˆ ๋นŒ๋“œ ํŒŒ์ผ์„ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œํ•˜์ง€ ์•Š๊ณ ๋„ ๋ช…๋ น์–ด๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

AWS CLI ์„ค์น˜

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ AWS CLI๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

 

Window

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
aws --version

 

Mac

$ brew install awscli
$ aws --version

 

 

ํ”„๋กœํ•„ ์ธ์ฆ ์„ค์ •

์„ค์น˜ ํ›„ ์ธ์ฆ ์„ค์ •์ด ํ•„์š”ํ•˜๋‹ค.

Access Key ๋ฐœ๊ธ‰์„ ์œ„ํ•ด AWS ์šฐ์ธก ์ƒ๋‹จ์˜ ๊ณ„์ •์„ ํด๋ฆญํ•ด์„œ ๋ณด์•ˆ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

 

 

์•ก์„ธ์Šค ํ‚ค ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

ํ‚ค ์ •๋ณด๋Š” ์ƒ์„ฑ๋œ ์‹œ์ ์— ๋”ฑ ํ•œ ๋ฒˆ๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฏธ๋ฆฌ ๊ธฐ๋กํ•ด ๋‘๊ฑฐ๋‚˜ ํ‚ค ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋กœ์ปฌ์— ๋ฐ›์•„ ๋‘”๋‹ค.

 

 

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํ”„๋กœํ•„ ์ธ์ฆ์„ ์ง„ํ–‰ํ•œ๋‹ค. (default ํ”„๋กœํ•„)

aws configure

 

 

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์ œ๋Œ€๋กœ ์ธ์ฆ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

aws s3 ls s3://<bucket-name> --profile default

 

 

๋ช…๋ น์–ด๋กœ ๋ฐฐํฌ

์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋ฐฐํฌํ•œ๋‹ค.

npm run build
aws s3 sync build/ s3://<bucket-name> --delete

 

 

์ด์ œ package.json์— scripts๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

// package.json
"scripts": {
    ...
    "deploy": "npm run build && aws s3 sync build/ s3://<bucket-name> --delete"
},
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    'log' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (2)
    • [์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ] PSD ํŒŒ์ผ SVG๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ + ํ…์ŠคํŠธ ํŒจ์Šคํ™”
    • Three.js๋กœ 3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ํ•˜๊ธฐ
    • [JS] ์‹œ๊ฐ„ ํฌ๋งคํŒ… (์š”์ผ, ์‹œ๊ฐ„, AM/PM)
    66651
    66651
    always awake

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”