Skip to main content

codespace ๋จธ์‹ ์— ๋Œ€ํ•œ ์ตœ์†Œ ์‚ฌ์–‘ ์„ค์ •

๋ฆฌ์†Œ์Šค๊ฐ€ ๋ถ€์กฑํ•œ ์ปดํ“จํ„ฐ ์œ ํ˜•์ด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ GitHub Codespaces์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

People with write permissions to a repository can create or edit the codespace configuration.

๊ฐœ์š”

๋งŒ๋“œ๋Š” ๊ฐ codespace๋Š” ๋ณ„๋„์˜ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ํ˜ธ์ŠคํŠธ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ codespace๋ฅผ ๋งŒ๋“ค ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ฐ€์ƒ ๋จธ์‹  ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋จธ์‹  ํ˜•์‹์—๋Š” ๋ฆฌ์†Œ์Šค(ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด, ๋ฉ”๋ชจ๋ฆฌ, ์Šคํ† ๋ฆฌ์ง€)๊ฐ€ ๋‹ค๋ฅด๋ฉฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ฐ€์žฅ ์ ์€ ๋จธ์‹  ํ˜•์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ codespace์— ๋Œ€ํ•œ ์ปดํ“จํ„ฐ ์œ ํ˜• ๋ณ€๊ฒฝ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

ํ”„๋กœ์ ํŠธ์— ํŠน์ • ์ˆ˜์ค€์˜ ์ปดํ“จํŒ… ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ GitHub Codespaces๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋จธ์‹  ํ˜•์‹๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” devcontainer.json ํŒŒ์ผ์—์„œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ ์ทจ์†Œ๋œ codespace(GitHub์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ํ…œํ”Œ๋ฆฟ์—์„œ ๋งŒ๋“  codespace)๋Š” ํ•ญ์ƒ ๋™์ผํ•œ ์‚ฌ์–‘์˜ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ฒŒ์‹œ ์ทจ์†Œ๋œ codespace์˜ ์ปดํ“จํ„ฐ ํ˜•์‹์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ค‘์š”

์ผ๋ถ€ ๋จธ์‹  ์œ ํ˜•์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋Š” ์กฐ์ง ์ˆ˜์ค€์—์„œ ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์ž‘์—…์€ ๋” ๋†’์€ ๋น„์œจ๋กœ ์ฒญ๊ตฌ๋˜๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ๋” ๋†’์€ ๋จธ์‹ ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ๋จธ์‹  ์œ ํ˜•์— ๋Œ€ํ•œ ์กฐ์ง ์ˆ˜์ค€ ์ •์ฑ…์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋จธ์‹  ์œ ํ˜•์ด ์—†๋Š” ์ตœ์†Œ ์‚ฌ์–‘์„ ์„ค์ •ํ•˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปดํ“จํ„ฐ ์œ ํ˜•์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์ œํ•œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

์ตœ์†Œ ๋จธ์‹  ์‚ฌ์–‘ ์„ค์ •

  1. devcontainer.json ํŒŒ์ผ์— ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ๋งŒ๋“ค์–ด์ง„ codespace๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์•„์ง devcontainer.json ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ง€๊ธˆ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์„ฑ ์ถ”๊ฐ€์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

  2. ๋ฐ”๊นฅ์ชฝ JSON ๊ฐœ์ฒด ๋‚ด์—์„œ ํŒŒ์ผ์˜ ์ตœ์ƒ์œ„ ์ˆ˜์ค€์— hostRequirements ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ devcontainer.json ํŒŒ์ผ์„ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

    JSON
    "hostRequirements": {
       "cpus": 8,
       "memory": "8gb",
       "storage": "32gb"
    }
    

    cpus, memory, storage ์˜ต์…˜ ์ค‘ ์ผ๋ถ€ ๋˜๋Š” ์ „์ฒด๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ˜„์žฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” GitHub Codespaces ๋จธ์‹  ์œ ํ˜•์˜ ์‚ฌ์–‘์„ ํ™•์ธํ•˜๋ ค๋ฉด ์„ ํƒํ•œ ๋จธ์‹  ์œ ํ˜•์ด ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ Codespace๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ codespace ๋งŒ๋“ค๊ธฐ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

  3. ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ•„์š”ํ•œ ๋ถ„๊ธฐ์— ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ปค๋ฐ‹ํ•ฉ๋‹ˆ๋‹ค.

    ์ด์ œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ•ด๋‹น ๋ถ„๊ธฐ์— ๋Œ€ํ•œ codespace๋ฅผ ๋งŒ๋“ค๊ณ  ์ƒ์„ฑ ๊ตฌ์„ฑ ์˜ต์…˜์œผ๋กœ ์ด๋™ํ•˜๋ฉด ์ง€์ •ํ•œ ๋ฆฌ์†Œ์Šค์™€ ์ผ์น˜ํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ณผํ•˜๋Š” ๋จธ์‹  ์œ ํ˜•๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ปดํ“จํ„ฐ ์œ ํ˜• ๋ชฉ๋ก์˜ ์Šคํฌ๋ฆฐ์ƒท. 2์ฝ”์–ด ๋ฐ 4์ฝ”์–ด ์˜ต์…˜์—๋Š” "๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ ์š”๊ตฌ ์‚ฌํ•ญ ์ดํ•˜"๋ผ๋Š” ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ฐธ๊ณ  ์ž๋ฃŒ