GitHub에서 바로 실행해 보기
버튼 하나로 브라우저에 개발용 컴퓨터가 열립니다. 2분이면 진짜 설치 마법사를 돌려 보고, 5분이면 내 복사본에서 GitHub Actions가 실제 릴리스를 만드는 것까지 봅니다. 단계마다 무엇을 하는지 화면에 설명이 나옵니다.
내 GitHub 계정으로 무료 · 내 컴퓨터에 설치 없음 · Secret 없음 · 영어 또는 한국어로 안내
이게 뭔가요?
섹션 제목: “이게 뭔가요?”Codespace는 GitHub가 빌려주는 컴퓨터를 브라우저 탭으로 여는 기능입니다. VS Code와 리눅스 터미널이 열리고, Node.js, git, gh 명령이 미리 준비되어 있습니다. 예제 레포는 여기에 명령 두 개를 더해 두었습니다. 흉내 내는 시뮬레이션이 아니라 진짜 project-auto-wizard를 실행하고, 단계마다 무엇을 하는지 알려 줍니다.
| ① 설치 마법사 실행 | ② 내 레포에서 실제 릴리스 | |
|---|---|---|
| 보는 것 | 마법사가 Node, Spring, Python 샘플 프로젝트에 릴리스 자동화를 설치하는 과정 | 커밋 하나가 GitHub Actions에서 버전, 릴리스 노트, CHANGELOG, GitHub Release가 되는 과정 |
| 필요한 것 | GitHub 계정 | GitHub 계정과 템플릿 복사본 |
| 시간 | 약 2분 | 약 5분 |
1부: 설치 마법사 실행
섹션 제목: “1부: 설치 마법사 실행”이 페이지 맨 위의 ① 2분: 설치 마법사 실행을 누르고 Create new codespace를 누릅니다. 터미널이 준비되면 붙여 넣습니다.
Codespace 터미널에 이것만 붙여 넣으세요
npm run try:install
1Codespace 열기Open in GitHub Codespaces를 누르고 Create new codespace. 처음에는 1분쯤 걸립니다.
2폴더 신뢰폴더 신뢰 및 계속을 누릅니다. 누르기 전에는 터미널이 켜지지 않습니다.
3샘플 고르기언어와 Node, Spring, Python 샘플을 고르고, 질문마다 Enter를 누릅니다.
4설치된 것 보기릴리스 워크플로우, 스크립트, version.yml. 임시 폴더에서 일어나는 일이라 아무것도 push하지 않습니다.
2부: 내 레포에서 실제 릴리스
섹션 제목: “2부: 내 레포에서 실제 릴리스”릴리스는 내 레포의 GitHub Actions에서 일어나므로 먼저 템플릿을 복사합니다(내 계정, 아무 이름, Public, Include all branches는 끈 채로). 복사본에서 Code > Codespaces > Create codespace on main을 누르고, 폴더를 신뢰한 뒤 붙여 넣습니다.
복사본 Codespace의 터미널에 이것만 붙여 넣으세요
npm run try:release
1템플릿 복사내 계정, 아무 이름, Public. Include all branches는 끈 채로 둡니다.
2복사본에서 Codespace 열기Code > Codespaces > Create codespace on main.
3변경 종류 고르기feat:, fix:, feat!:가 각각 몇 버전이 되는지 보여 줍니다. develop 만들기, 커밋, push, 릴리스 PR 열기는 스크립트가 대신 합니다.
4릴리스되는 것 보기GitHub Actions가 버전 확정, 노트와 CHANGELOG 작성, 머지, 발행까지 합니다. 1~3분 걸립니다.
5내 GitHub Release커밋 메시지로 쓰인 릴리스입니다. fix:나 feat!:로 다시 실행해 비교해 보세요.
자주 묻는 것
섹션 제목: “자주 묻는 것”- 돈이 드나요? Codespace는 내 GitHub 계정의 월 무료 사용량에서 빠집니다(GitHub Free 기준 월 120 core-hours, 기본 2코어 머신으로 약 60시간). 계정에 결제 수단이 없으면 한도에서 멈추고 요금은 청구되지 않습니다.
- 무엇이 남나요? 1부는 아무것도 남기지 않습니다. 2부는 릴리스가 몇 개 생긴 내 복사본 레포가 남습니다. 다 쓴 뒤 github.com/codespaces에서 Codespace를 지우고(… > Delete), 복사본은 레포 Settings에서 지우면 됩니다.
- 내 프로젝트에 바로 해 볼 수 있나요? 네. 내 레포 루트에서
npx project-auto-wizard를 실행하세요. 빠른 시작을 보세요.
터미널 없이 클릭만으로
섹션 제목: “터미널 없이 클릭만으로”2부와 같은 릴리스를 GitHub 웹 화면에서 손으로 해 봅니다.
-
템플릿 복사. 예제 레포에서 Use this template > Create a new repository를 누릅니다. 소유자는 자기 계정, 이름은 자유, Public을 고릅니다. Include all branches는 끈 채로 Create repository를 누릅니다.
✓ 새 레포에
.github/workflows/,version.yml, 마지막이Latest Version : v0.x.y인 README가 있습니다. 아직 릴리스는 생기지 않습니다. -
개발 브랜치 만들기. 브랜치 메뉴(
main이라고 표시됨)를 열고develop을 입력한 뒤 Create branch develop from main을 고릅니다.✓ 브랜치 메뉴에
develop과main이 보입니다. -
develop에 기능 커밋.develop에서src/greet.js를 열고 연필 아이콘을 눌러 무언가를 바꿉니다(예:GREETINGS에es: "Hola"추가). Commit changes를 눌러 메시지를feat: greet in Spanish로 쓰고, Commit directly to the develop branch를 그대로 둔 채 커밋합니다.✓
develop이main보다 커밋 하나 앞서 있고, 그 커밋 메시지가feat:로 시작합니다. -
릴리스 PR 열기. Pull requests > New pull request에서 base를
main, compare를develop으로 두고 Create pull request를 누릅니다. -
릴리스되는 과정 보기. 1분 정도 지나면 PR에서
PROJECT-AUTO-CHANGELOG-CONTROL이 실행됩니다. 다음 버전을 확정하고, 릴리스 노트를 댓글로 달고,CHANGELOG.md를 갱신한 뒤 PR을 머지합니다.feat:커밋은 minor 버전을 올립니다.✓ PR이
github-actions[bot]에 의해 Merged 상태가 되고,[0.3.0] ✨ Features같은 댓글이 달립니다. -
릴리스 확인. Releases에 노트가 담긴 새
vX.Y.Z릴리스가 있습니다.CHANGELOG.md에 항목이 생기고 README 버전 줄도 새 버전을 표시합니다.
더 해 보기
섹션 제목: “더 해 보기”develop에fix:커밋을 하고 릴리스 PR을 다시 열면 patch 버전만 올라갑니다.feat!: rename greet처럼!를 붙이면 major 버전이 올라갑니다.develop의version.yml에서release_automerge: false로 바꾸면 릴리스 PR 제목이chore(release): vX.Y.Z로 바뀌고, 어떤 머지 방식이든 직접 머지하기를 기다립니다.- 각 워크플로우가 하는 일은 릴리스 흐름, 자기 프로젝트에 설치하는 방법은 빠른 시작을 보세요.
무언가 일어나지 않을 때
섹션 제목: “무언가 일어나지 않을 때”- Codespace 터미널이 비어 있음: VS Code가 제한 모드입니다. 상태 표시줄의 제한 모드(또는 위쪽 배너)를 눌러 폴더를 신뢰하세요.
npm run try:release가 “아직 내 레포가 없습니다”라고 함: 템플릿의 Open in GitHub Codespaces 버튼으로 연 Codespace입니다. 템플릿을 먼저 복사하고(2부 1단계) 복사본에서 Codespace를 여세요.npm run try:release가 “예상 시간 안에 끝나지 않았습니다”에서 멈춤: 복사본의 Actions 탭을 여세요. 대기 중인 실행은 조금 뒤 끝나고, 실패한 실행은 마지막 줄에 무엇이 막았는지 나옵니다.- PR에서 워크플로우가 돌지 않음: PR이
develop에서main으로 가는지, 레포의 Actions 탭이 켜져 있는지 확인하세요. - PR을 만들 수 없음(“entirely different commit histories”): Include all branches를 켜고 복사한 경우입니다.
develop을 지우고main에서 다시 만드세요(2단계). - PR이 자동으로 머지되지 않음: Actions 탭에서 실행을 열면 마지막 줄에 머지를 막은 원인(예: 브랜치 보호 규칙)과 바꿀 곳이 나옵니다.
- CHANGELOG에 이전 버전도 있음: 예제 레포의 릴리스 기록이 복사본에 그대로 따라온 것입니다.