repo2docker ์ฌ์ฉ์ ๋ํ ์ค์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ค๋ช ํ๋ ๊ด๋ จ ์์ ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ฌธ์๋ฅผ ์ข ๋ ๊ตฌ์ฒดํํ ๊ณํ์ ๋๋ค.
PR์์ ์๋์ผ๋ก ๋ฐ์ธ๋ ๋ฐฐ์ง๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ PR์์ ์ฐธ์กฐ๋ ๋ถ๊ธฐ์ ํด๋นํ๋ chatops ๋ช ๋ น์ ์ฌ์ฉํ์ฌ Actions๊ฐ ๋๊ธ์ ์์ฑํ๋๋ก ํฉ๋๋ค. ์ด๋ ๊ฒํ ์๊ฐ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๋ผ์ด๋ธ ๋ ธํธ๋ถ์ ์ฝ๊ฒ ์ก์ธ์คํ์ฌ PR์์ ๋ ธํธ๋ถ์ ๊ฒํ ํ ์ ์๋๋ก ํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ๊ฒ์ ๋๋ค.
PR์ด ์ด๋ฆฌ๊ฑฐ๋ ์ข ์ด ๊ณต๊ฐ ๊ทธ๋ผ๋ฐ์ด์ ์์ chatops ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ ธํธ๋ถ์ ์๋์ผ๋ก ์คํ
๋๋ต์ ์ธ ์ค์ผ์น๋ ์ด๋ ์ต๋๋ค.
...
- name: build-environment
id: repo2docker
uses: machine-learning-apps/repo2docker-action
with:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
IMAGE_NAME: "hamelsmu/repo2docker-test"
- name: paperspace-deploy
id: paperspace
run: |
pip install gradient
gradient apiKey ${PAPERSPACE_TOKEN}
gradient jobs create --container ${IMAGE_NAME} --projectId ${PAPERSPACE_PROJECT_ID} --machineType K80 --ports 8888:8888
env:
PAPERSPACE_TOKEN: ${{ secrets.PAPERSPACE_TOKEN }}
PAPERSPACE_PROJECT_ID: ${{ secrets.PAPERSPACE_PROJECT_ID }}
IMAGE_NAME: ${{ steps.repo2docker.outputs.IMAGE_SHA_NAME }}
์์ repo2docker์ ์ฃผ์ ๊ตฌ๋ฆ ์ด๋ฏธ์ง : GCP, AWS, ํธ๋ฅธ ์ด์ฉ๋ฉด FloydHub
GCP์์ ๋๋ต์ ์ธ ์ค์ผ์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. - Google Cloud Functions
....
- uses: exelban/gcloud<strong i="21">@master</strong>
env:
PROJECT_ID: ${{ secrets.GOOGLE_PROJECT_ID }}
APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
IMAGE_NAME: ${{ steps.repo2docker.outputs.IMAGE_SHA_NAME }}
with:
args: --quiet beta run deploy notebook-serve-action --allow-unauthenticated --platform managed --region us-west1 --image $IMAGE_NAME
@betatim , @willingc @neovintage ๋ค๋ฅธ ์์ด๋์ด๊ฐ ์์ต๋๊น? ๊ฐ๋ฅ์ฑ์ ๋งค์ฐ ํฅ๋ฏธ๋กญ๊ณ ๊ทํ์ ์์ด๋์ด์ ์๊ฐ์ ์ฌ๋ํฉ๋๋ค!
datasette
publish ๋ช
๋ น [ code ]์ ๋ฐ์ดํฐ ์ธํธ ์ธ์คํด์ค๊ฐ ํฌํจ๋ ์ปจํ
์ด๋๋ฅผ ๋น๋ํ๊ณ ๋ค์ํ ์จ๋ผ์ธ ํด๋ผ์ฐ๋ ํธ์คํธ์ ํธ์ํฉ๋๋ค.
์ด ์์
์์ ๋๋ ์๋ง๋ repo2docker
[@betatim]์ ์ผ๋ถ๋ก ์ด์ ๊ฐ์ ๊ฒ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ ์ฉํ ๊น์?
๋ํ ํด๋น ๊ฒ์ ๋ ์ํผ๋ฅผ ๋ค๋ฅธ Github ์์ ์ผ๋ก ์ถ์ถํ๊ฑฐ๋ repo2docker ์ปจํ ์คํธ์์ ๋ค๋ฅธ ํ๋ก์ ํธ์์ ์ฑํํ ์ ์๋ ํ๋ฌ๊ทธ์ธ ์คํ์ผ ํจํค์ง๋ก ์ถ์ถํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค. (์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ์ธํธ๋ ์ด๋ฏธ ํ๋ฌ๊ทธ์ธ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. (์ฌ๊ธฐ์ @simonw ์ ํ๋ฌ๊ทธ์ธ ๋ชจ๋ธ ์ง์ ์ ๋ํ ์ด๊ธฐ ๋ฉ๋ชจ ๊ฐ ์์ต๋๋ค.)
@psychemedia ์ ์ ์์ ๋ํ
Binder ์ด์ธ์ ์ปจํ ์ด๋์์ ์ ํธํ๋ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ ๋ ธํธ๋ถ์ฉ ํธ์คํ ์๋น์ค๊ฐ ์์ต๋๊น? ๋ด๊ฐ ์ฐพ์ ์ ์๋ ๊ฐ์ฅ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๊ฒ์ ์์์ ์ธ๊ธํ Paperspace์ Google Cloud์ ๋๋ค.
๋ค๋ฅธ ์๋ฒ๋ฆฌ์ค ํจ๋ฌ๋ค์์ด ์์ง๋ง ํญ์ ๋ ธํธ๋ถ์ ์ ๋ง๋ ๊ฒ์ ์๋๋๋ค. ์ฃผ์ ํด๋ผ์ฐ๋๊ฐ ๊ฐ์ธ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด Binder-as-a-Service๋ฅผ ์ ๊ณตํ๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค.
ํ๋ฌ๊ทธ์ธ ์์ด๋์ด์ ๊ด๋ จํ์ฌ ์ด๊ฒ์ ์์ ์ด ์๋ํ๋ ๋ฐฉ์์ ๋งค์ฐ ์์ฐ์ค๋ฝ๊ณ ์ฌ๋๋ค์ ์ํ๋ ์ํฌํ๋ก๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์์ ์ ํจ๊ป ์์ ์ ์์ต๋๋ค. "๋ ธํธ๋ถ ์ปจํ ์ด๋๋ฅผ X์ ๋ฐฐํฌ" ๊ธฐ๋ฅ์ ๋ณ๋์ ์์ ์ผ๋ก ๋ง๋ค์ด ๋ชจ๋์ ์ ์งํ ์ ์์ต๋๋ค...
@hamelsmu ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ง๋ง GitHub ๊ต์ค๊ณผ ํตํฉ๋ ์ด์ ๊ฐ์ ๊ฒ์ ์ ๊ณตํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๋ฐ์ธ๋์ ํ ๊ฐ์ง ํฐ ์ฌ์ฉ ์ฌ๋ก๋ ๋ ธํธ๋ถ์ ์ฌ์ฉํ์ฌ ์๊ท๋ชจ ์ํฌ์ต/ํ์/์์ต์๋ฅผ ํธ์คํ ํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋๋ฌด ๋ฉ์ง ๊ฒ์ ๋๋ค! JupyterLab์๋ ์ค์ ๋ก PR์ ๋ฐ์ธ๋ ๋งํฌ๋ฅผ ์ถ๊ฐํ๋ ์์ ๋ด์ด ์์ต๋๋ค. ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ฌผ์ด๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค(์: https://github.com/jupyterlab/jupyterlab/pull/8410#issuecomment -626757346).
@choldgraf ์ด๋ฏธ ์ด
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@psychemedia ์ ์ ์์ ๋ํ
Binder ์ด์ธ์ ์ปจํ ์ด๋์์ ์ ํธํ๋ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ ๋ ธํธ๋ถ์ฉ ํธ์คํ ์๋น์ค๊ฐ ์์ต๋๊น? ๋ด๊ฐ ์ฐพ์ ์ ์๋ ๊ฐ์ฅ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๊ฒ์ ์์์ ์ธ๊ธํ Paperspace์ Google Cloud์ ๋๋ค.
๋ค๋ฅธ ์๋ฒ๋ฆฌ์ค ํจ๋ฌ๋ค์์ด ์์ง๋ง ํญ์ ๋ ธํธ๋ถ์ ์ ๋ง๋ ๊ฒ์ ์๋๋๋ค. ์ฃผ์ ํด๋ผ์ฐ๋๊ฐ ๊ฐ์ธ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด Binder-as-a-Service๋ฅผ ์ ๊ณตํ๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค.
ํ๋ฌ๊ทธ์ธ ์์ด๋์ด์ ๊ด๋ จํ์ฌ ์ด๊ฒ์ ์์ ์ด ์๋ํ๋ ๋ฐฉ์์ ๋งค์ฐ ์์ฐ์ค๋ฝ๊ณ ์ฌ๋๋ค์ ์ํ๋ ์ํฌํ๋ก๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์์ ์ ํจ๊ป ์์ ์ ์์ต๋๋ค. "๋ ธํธ๋ถ ์ปจํ ์ด๋๋ฅผ X์ ๋ฐฐํฌ" ๊ธฐ๋ฅ์ ๋ณ๋์ ์์ ์ผ๋ก ๋ง๋ค์ด ๋ชจ๋์ ์ ์งํ ์ ์์ต๋๋ค...