컴퓨터 안에 '완벽하게 세팅된 작은 가상 컴퓨터'를 만드는 기술.
"내 컴퓨터에서는 되는데 왜 네 컴퓨터에서는 안 돼?"라는 문제를 해결하기 위해 🔨😁 필요한 모든 프로그램과 설정을 상자(컨테이너)에 담아 어디서든 똑같이 실행하게 해주는것임.
runner 생성이라는건.. "우리 회사(GitHub)의 일을 대신 처리해줄 '재택근무 비서' 한 명을 내 컴퓨터 안에 고용하겠다”
이름-front-runner : 러너이름을 이렇게 지은거임.
GitHub에 소스 코드가 올라오면, 그걸 받아서 테스트하고 서버에 배포하는 힘든 일을 대신함.
docker run을 통해 내 컴퓨터 안에 이 비서 전용 독방(컨테이너)을 하나 만들어 주는 것.
docker run \\
-d \\
--restart always \\
--name 이름-front-runner \\
-e REPO_URL="<https://github.com/경로/이름-front>" \\
-e RUNNER_NAME="이름-front-runner" \\
-e ACCESS_TOKEN="" \\
-e RUNNER_WORKDIR="/tmp/runner/이름-front-runner" \\
-e ORG_RUNNER="false" \\
-e LABELS="이름-front-runner" \\
-v /var/run/docker.sock:/var/run/docker.sock \\
-v /tmp/runner:/tmp/runner \\
myoung34/github-runner:latest
쉽게 말하면 … 명령어에 포함된 복잡한 코드들은 사실 비서와 계약하는 조건임.
내 컴퓨터의 자원을 빌려줄 테니, GitHub에 있는 내 프로젝트의 빌드와 배포를 알아서 해내는 전용 일꾼을 한 마리 가두어(?) 두는것.
docker run : 방 지어라-d : 비서를 보이지 않는 뒷방에서 일하게하라.-name** 이름**-front-runner**: 비서의 이름을 '이름-front-runner'라고 짓겠다는 뜻.e REPO_URL="...": "비서야, 이 주소에 있는 프로젝트 일을 도와다오"라고 업무 위치를 알려주는 것.-e ACCESS_TOKEN="...": 비서가 GitHub 회사 문을 열고 들어갈 수 있는 '출입증'.-e RUNNER_WORKDIR="/tmp/runner/..." : 비서 책상(작업 공간) 지정. 책상 어디 배치할건지 정하는 것.
/tmp/runner라는 폴더를 작업대로 지정한것임.-e ORG_RUNNER="false” : "개인 비서 vs 그룹 전체 비서”
false면 "지정한 프로젝트 하나만 집중적으로 도와줘"-e LABELS="이름-front-runner" : 비서의 명찰(특기) 달아주기
이름-front-runner(v /var/run/docker.sock...: 비서가 일을 하다가 필요하면 다른 기계를 조작할 수 있는 권한을 주는 것.
v /var/run/docker.sock...-v /tmp/runner:/tmp/runner (Volume Mount) : 방 안 책상과 거실 책상을 일치시키기
-restart always: 비서가 지쳐서 쓰러지거나 컴퓨터가 꺼졌다 켜져도, 비서가 즉시 다시 출근하도록 만드는 스파르타식 설정.