GitHub, Visual Studio Code์์ ๋๋ GitHub CLI๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฑํ๋์ด ์๊ฑฐ๋ ์ค์ง๋ Codespace๋ฅผ ๋ค์ ์ด ์ ์์ต๋๋ค. ์ญ์ ๋ Codespace๋ ๋ค์ ์ด ์ ์์ต๋๋ค. codespace ์๋ช ์ฃผ๊ธฐ ์ดํด์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
github.com/codespaces โ๋์ codespaceโ ํ์ด์ง์์ ๋ชจ๋ codespace๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์ด ํ์ด์ง์์ ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- Codespace๋ฅผ ์ด๊ฑฐ๋ ์ค์งํ๊ฑฐ๋ ์ญ์ ํฉ๋๋ค.
- Codespace(๊ฐ์ธ ๊ณ์ ๋๋ ์์๋ ์กฐ์ง)๋ฅผ ์์ (๋ฐ ์ฒญ๊ตฌํ ์ ์์)๋ฅผ ํ์ธํฉ๋๋ค. GitHub Codespaces ์ฒญ๊ตฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- Codespace์ ์ปดํจํฐ ์ ํ, ํฌ๊ธฐ ๋ฐ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
- GitHub์ ํ ํ๋ฆฟ ์ค ํ๋๋ฅผ ์ ํํ๊ฑฐ๋ ์ codespace๋ฅผ ํด๋ฆญํ์ฌ ์ codespace๋ฅผ ๋ง๋ญ๋๋ค. ํ ํ๋ฆฟ์์ codespace ๋ง๋ค๊ธฐ ๋ฐ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ codespace ๋ง๋ค๊ธฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
- Codespace์ ์๋ ์ญ์ ๋ฅผ ๋ฐฉ์งํฉ๋๋ค. Codespace์ ์๋ ์ญ์ ๊ตฌ์ฑ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๋ฆฌํฌ์งํ ๋ฆฌ ํ์ด์ง์์ codespace ๋ค์ ์ด๊ธฐ
GitHub์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณผ ๋ Codespace๋ฅผ ๋น ๋ฅด๊ฒ ๋ค์ ์์ํ ์ ์์ต๋๋ค.
-
์์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฝ๋ ํญ์ด GitHub,์ ํ์๋๋ฉด ,(์ผํ ํค)๋ฅผ ๋๋ฆ ๋๋ค.
"codespace ๋ค์ ์์" ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ์ ํ์ฌ ์ ํ๋ ๋ถ๊ธฐ์ ๋ํด ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉํ codespace๋ฅผ ๋ค์ ์์ํ๊ฑฐ๋ ๋์ด์ค๊ธฐ ์์ฒญ์ ํ ํฝ ๋ถ๊ธฐ์ ๋ํด ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ณด๊ณ ์๋ ๊ฒฝ์ฐ ๋ค์ ์์ํ ์ ์์ต๋๋ค.
-
์ด codespace ๋ค์ ์์์ ํด๋ฆญํฉ๋๋ค.
๋๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ด ๋ถ๊ธฐ์ ๋ํ ์ codespace๋ฅผ ๋ง๋ค๋ ค๋ฉด ์๋ก ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ด ๋ถ๊ธฐ์ ๋ํ ๊ธฐ์กด codespace๊ฐ ์๋ ๊ฒฝ์ฐ ํ์ด์ง์ ์ ๋ชฉ์ โcodespace ๋ง๋ค๊ธฐโ์ด๋ฉฐ ์ codespace ๋ง๋ค๊ธฐ๋ผ๋ ๋ ์ด๋ธ์ด ์ง์ ๋ ๋จ์ถ๊ฐ ํ์๋ฉ๋๋ค.
Codespace๋ฅผ ๋ค์ ์์ํ๊ธฐ ์ํด ์ด ํ์ด์ง๋ก ๋น ๋ฅด๊ฒ ๋์๊ฐ๋ ค๋ฉด ์ด ํ์ด์ง์ ์ฃผ์์ ์ฑ ๊ฐํผ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๋๋ ๋งํฌ์ ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ๊ณ ์ ํ codespace๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ ๋ค์ ์์ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
"codespace" ํ์ด์ง์์ ๊ธฐ์กด codespace ์ด๊ธฐ
-
GitHub์ ์ผ์ชฝ ์ ๋ชจ์๋ฆฌ์์ ์(๋ฅผ) ์ ํํ๊ณ Codespaces๋ฅผ ํด๋ฆญํ ๋ค์ github.com/codespaces "๋ด codespace" ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
-
๊ธฐ๋ณธ ํธ์ง๊ธฐ์์ Codespace๋ฅผ ์ด๋ ค๋ฉด Codespace์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค. ๊ฐ์ธ ์ค์ ํ์ด์ง์์ Codespaces์ ๋ํ ๊ธฐ๋ณธ ํธ์ง๊ธฐ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. Github Codespaces์ ๊ธฐ๋ณธ ํธ์ง๊ธฐ ์ค์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
๊ธฐ๋ณธ๊ฐ์ด ์๋ ํธ์ง๊ธฐ์์ codespace๋ฅผ ์ด๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
- ์ด๊ณ ์ ํ๋ codespace์ ์ค๋ฅธ์ชฝ์ ์๋ ์ค์ํ(...)๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์์์ codespace๋ฅผ ์ด ์ ์์ต๋๋ค.
- ๋ธ๋ผ์ฐ์
- Visual Studio Code
- JupyterLab
Visual Studio Code ๋ฅผ ์ ํํ ๊ฒฝ์ฐ, ๋ก์ปฌ ๋จธ์ ์ VS Code๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
JupyterLab์ ์ ํํ๋ ๊ฒฝ์ฐ, codespace์ JupyterLab ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ๋ฐ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์๋ JupyterLab์ด ํฌํจ๋๋ฏ๋ก ๊ธฐ๋ณธ ์ด๋ฏธ์ง์์ ๋ง๋ codespace๋ ํญ์ JupyterLab์ ์ค์นํฉ๋๋ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ๋ฐ ์ปจํ ์ด๋ ์๊ฐ ๋ฐ
devcontainers/images
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ๊ฐ๋ฐ ์ปจํ ์ด๋ ๊ตฌ์ฑ์์ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐdevcontainer.json
ํ์ผ์ghcr.io/devcontainers/features/python
๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ JupyterLab์ ์ค์นํ ์ ์์ต๋๋ค. ์ต์ "installJupyterlab": true
๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์devcontainers/features
๋ฆฌํฌ์งํ ๋ฆฌ์์python
๊ธฐ๋ฅ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ธฐ์กด codespace๋ก ๋งํฌ ์ค์
๊ธฐ์กด codespace์ ๋ํ ๋งํฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์ฃผ ๋ฐํํ๋ ์ฅ๊ธฐ codespace๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. https://github.com/codespaces์์ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ํ๋ ์์น์ ๋งํฌ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ฌ์ฉ์ ๊ณ ์ ์ codespaces๋ง ์ด ์ ์์ต๋๋ค. codespace ์ค ํ๋์ ๋ํ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด 404 ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋ค์ URL ํจํด ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋งํฌ๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋ฌํ URL CODESPACE-NAME
์(๋) codespace์ ํ์ ์ด๋ฆ์ด ์๋๋ผ codespace์ ๊ณ ์ ํ ์๊ตฌ ์ด๋ฆ(์: literate-space-parakeet-w5vg5ww5p793g7g9
)์ ๋ํ๋
๋๋ค. https://github.com/codespaces ํ์ด์ง์ codespace์ ๋ํ ๋งํฌ๋ฅผ ๋ณต์ฌํ๊ณ URL์์ codespace ์ด๋ฆ์ ์ถ์ถํ์ฌ codespace์ ์ด๋ฆ์ ์ฐพ์ ์ ์์ต๋๋ค.
๋งํฌ๊ฐ ์ด๋ฆฝ๋๋ค | ๋งํฌ ๊ตฌ๋ฌธ |
---|---|
VS Code ์น ํด๋ผ์ด์ธํธ | https://CODESPACE-NAME.github.dev |
์ง์ ๋ ์์ ์์ญ์ด ์๋ VS Code ์น ํด๋ผ์ด์ธํธ | https://CODESPACE-NAME.github.dev?folder=/workspaces/PATH/TO/WORKSPACE/DIRECTORY |
VS Code ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ | https://github.com/codespaces/CODESPACE-NAME?editor=vscode |
JupyterLab | https://github.com/codespaces/CODESPACE-NAME?editor=jupyter |
๊ธฐ์กด Codespace ๋ค์ ์ด๊ธฐ
์ฐธ๊ณ ํญ๋ชฉ
VS Code์์ GitHub Codespaces๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Codespaces ํ์ฅ์ ์ค์นํด์ผ ํฉ๋๋ค. Visual Studio Code์์ Github Codespaces ์ฌ์ฉ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
VS Code ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์์ Command+Shift+P(Mac) ๋๋ Ctrl+Shift+P(Windows/Linux)๋ฅผ ์ฌ์ฉํด ๋ช ๋ น ํ๋ ํธ๋ฅผ ์ฝ๋๋ค.
-
"Codespaces"๋ฅผ ์ ๋ ฅํ๊ณ ๋ค์ ๋ช ๋ น ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
- VS Code์ ์ ์ฐฝ์์ Codespace๋ฅผ ์ด๋ ค๋ฉด Codespaces: ์ ์ฐฝ์์ Codespace ์ด๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
- ์น ํธ์ง๊ธฐ์์ Codespace๋ฅผ ์ด๋ ค๋ฉด Codespaces: ๋ธ๋ผ์ฐ์ ์์ ์ด๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
-
์ด๋ ค๋ Codespace๋ฅผ ํด๋ฆญํฉ๋๋ค.
VS Code์์ ์๊ฒฉ ํ์๊ธฐ ๋ณด๊ธฐ๋ก ์ด๋ํ์ฌ ์ด๋ ค๋ Codespace๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋จ์ถ๋ก ํด๋ฆญํ์ฌ ์์ ๋์ด๋ ๋ช ๋ น์ ์ก์ธ์คํ ์๋ ์์ต๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์๊ฒฉ ํ์๊ธฐ๊ฐ ์์ ๋ง๋์ ํ์๋์ง ์๋ ๊ฒฝ์ฐ:
- ๋ช ๋ น ํ๋ ํธ์ ์ก์ธ์คํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Shift+Command+P(Mac)/Ctrl+Shift+P(Windows/Linux)๋ฅผ ๋๋ฆ ๋๋ค.
- ์ ํ:
details
. - Codespaces: ์ธ๋ถ ์ ๋ณด๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ธฐ์กด codespace๋ก ๋งํฌ ์ค์
๊ธฐ์กด codespace์ ๋ํ ๋งํฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์์ฃผ ๋ฐํํ๋ ์ฅ๊ธฐ codespace๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค. https://github.com/codespaces์์ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ํ๋ ์์น์ ๋งํฌ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ฌ์ฉ์ ๊ณ ์ ์ codespaces๋ง ์ด ์ ์์ต๋๋ค. codespace ์ค ํ๋์ ๋ํ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด 404 ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
๋ค์ URL ํจํด ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋งํฌ๋ฅผ ๋ง๋ญ๋๋ค. ์ด๋ฌํ URL CODESPACE-NAME
์(๋) codespace์ ํ์ ์ด๋ฆ์ด ์๋๋ผ codespace์ ๊ณ ์ ํ ์๊ตฌ ์ด๋ฆ(์: literate-space-parakeet-w5vg5ww5p793g7g9
)์ ๋ํ๋
๋๋ค. https://github.com/codespaces ํ์ด์ง์ codespace์ ๋ํ ๋งํฌ๋ฅผ ๋ณต์ฌํ๊ณ URL์์ codespace ์ด๋ฆ์ ์ถ์ถํ์ฌ codespace์ ์ด๋ฆ์ ์ฐพ์ ์ ์์ต๋๋ค.
๋งํฌ๊ฐ ์ด๋ฆฝ๋๋ค | ๋งํฌ ๊ตฌ๋ฌธ |
---|---|
VS Code ์น ํด๋ผ์ด์ธํธ | https://CODESPACE-NAME.github.dev |
์ง์ ๋ ์์ ์์ญ์ด ์๋ VS Code ์น ํด๋ผ์ด์ธํธ | https://CODESPACE-NAME.github.dev?folder=/workspaces/PATH/TO/WORKSPACE/DIRECTORY |
VS Code ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ | https://github.com/codespaces/CODESPACE-NAME?editor=vscode |
JupyterLab | https://github.com/codespaces/CODESPACE-NAME?editor=jupyter |
๊ธฐ์กด Codespace ๋ค์ ์ด๊ธฐ
GitHub CLI์(๋ฅผ) ์ค์นํ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฌ์ฉํ์ฌ GitHub Codespaces์์ ์์ ํ ์ ์์ต๋๋ค. GitHub CLI์ ๋ํ ์ค์น ์ง์นจ์ GitHub CLI ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
-
ํฐ๋ฏธ๋์์ ๋ค์ GitHub CLI ๋ช ๋ น ์ค ํ๋๋ฅผ ์ ๋ ฅํฉ๋๋ค.
-
VS Code์์ Codespace๋ฅผ ์ด๋ ค๋ฉด ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
Shell gh codespace code
gh codespace code
์ฐธ๊ณ ํญ๋ชฉ
๋ก์ปฌ ์ปดํจํฐ์ VS Code์ด(๊ฐ) ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค. "VS Code ์ค๋ช ์"์ Visual Studio Code ์ค์ ์ ์ฐธ์กฐํ์ธ์.
-
๋ธ๋ผ์ฐ์ ์์ Codespace๋ฅผ ์ด๋ ค๋ฉด ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
Shell gh codespace code --web
gh codespace code --web
-
JupyterLab์์ Codespace๋ฅผ ์ด๋ ค๋ฉด, ๋ค์์ ํด๋ฆญํฉ๋๋ค.
Shell gh codespace jupyter
gh codespace jupyter
์ฐธ๊ณ ํญ๋ชฉ
์ด๋ ค ์๋ codespace์ JupyterLab ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ฐ๋ฐ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์๋ JupyterLab์ด ํฌํจ๋๋ฏ๋ก ๊ธฐ๋ณธ ์ด๋ฏธ์ง์์ ๋ง๋ codespace๋ ํญ์ JupyterLab์ ์ค์นํฉ๋๋ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ฐ๋ฐ ์ปจํ ์ด๋ ์๊ฐ ๋ฐ
devcontainers/images
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ๊ฐ๋ฐ ์ปจํ ์ด๋ ๊ตฌ์ฑ์์ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐdevcontainer.json
ํ์ผ์ghcr.io/devcontainers/features/python
๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ JupyterLab์ ์ค์นํ ์ ์์ต๋๋ค. ์ต์ "installJupyterlab": true
๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์devcontainers/features
๋ฆฌํฌ์งํ ๋ฆฌ์์python
๊ธฐ๋ฅ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์. -
๋ช ๋ น์ค์์ codespace์ ์ก์ธ์คํ๋ ค๋ฉด SSH๋ฅผ ํตํด ๋ค์์ ์ ๋ ฅํฉ๋๋ค.
Shell gh codespace ssh
gh codespace ssh
-
-
ํ์ดํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ ค๋ Codespace๋ก ์ด๋ํฉ๋๋ค.
-
Codespace์ ์ด๋ ค๋ฉด Enter ํค๋ฅผ ๋๋ฆ ๋๋ค.
GitHub CLI ์ค๋ช
์์ ์๋ gh codespace code
์(๋ฅผ) ์ฐธ์กฐํ์ธ์.