콘텐츠로 이동

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분

이 페이지 맨 위의 ① 2분: 설치 마법사 실행을 누르고 Create new codespace를 누릅니다. 터미널이 준비되면 붙여 넣습니다.

Codespace 터미널에 이것만 붙여 넣으세요

npm run try:install
  1. Codespace 열기
    1Codespace 열기

    Open in GitHub Codespaces를 누르고 Create new codespace. 처음에는 1분쯤 걸립니다.

  2. 폴더 신뢰
    2폴더 신뢰

    폴더 신뢰 및 계속을 누릅니다. 누르기 전에는 터미널이 켜지지 않습니다.

  3. 샘플 고르기
    3샘플 고르기

    언어와 Node, Spring, Python 샘플을 고르고, 질문마다 Enter를 누릅니다.

  4. 설치된 것 보기
    4설치된 것 보기

    릴리스 워크플로우, 스크립트, version.yml. 임시 폴더에서 일어나는 일이라 아무것도 push하지 않습니다.

릴리스는 내 레포의 GitHub Actions에서 일어나므로 먼저 템플릿을 복사합니다(내 계정, 아무 이름, Public, Include all branches는 끈 채로). 복사본에서 Code > Codespaces > Create codespace on main을 누르고, 폴더를 신뢰한 뒤 붙여 넣습니다.

복사본 Codespace의 터미널에 이것만 붙여 넣으세요

npm run try:release
  1. 템플릿 복사
    1템플릿 복사

    내 계정, 아무 이름, Public. Include all branches는 끈 채로 둡니다.

  2. 복사본에서 Codespace 열기
    2복사본에서 Codespace 열기

    Code > Codespaces > Create codespace on main.

  3. 변경 종류 고르기
    3변경 종류 고르기

    feat:, fix:, feat!:가 각각 몇 버전이 되는지 보여 줍니다. develop 만들기, 커밋, push, 릴리스 PR 열기는 스크립트가 대신 합니다.

  4. 릴리스되는 것 보기
    4릴리스되는 것 보기

    GitHub Actions가 버전 확정, 노트와 CHANGELOG 작성, 머지, 발행까지 합니다. 1~3분 걸립니다.

  5. 내 GitHub Release
    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 웹 화면에서 손으로 해 봅니다.

  1. 템플릿 복사. 예제 레포에서 Use this template > Create a new repository를 누릅니다. 소유자는 자기 계정, 이름은 자유, Public을 고릅니다. Include all branches는 끈 채로 Create repository를 누릅니다.

    ✓ 새 레포에 .github/workflows/, version.yml, 마지막이 Latest Version : v0.x.y인 README가 있습니다. 아직 릴리스는 생기지 않습니다.

  2. 개발 브랜치 만들기. 브랜치 메뉴(main이라고 표시됨)를 열고 develop을 입력한 뒤 Create branch develop from main을 고릅니다.

    ✓ 브랜치 메뉴에 develop과 main이 보입니다.

  3. develop에 기능 커밋. develop에서 src/greet.js를 열고 연필 아이콘을 눌러 무언가를 바꿉니다(예: GREETINGS에 es: "Hola" 추가). Commit changes를 눌러 메시지를 feat: greet in Spanish로 쓰고, Commit directly to the develop branch를 그대로 둔 채 커밋합니다.

    ✓ develop이 main보다 커밋 하나 앞서 있고, 그 커밋 메시지가 feat:로 시작합니다.

  4. 릴리스 PR 열기. Pull requests > New pull request에서 base를 main, compare를 develop으로 두고 Create pull request를 누릅니다.

  5. 릴리스되는 과정 보기. 1분 정도 지나면 PR에서 PROJECT-AUTO-CHANGELOG-CONTROL이 실행됩니다. 다음 버전을 확정하고, 릴리스 노트를 댓글로 달고, CHANGELOG.md를 갱신한 뒤 PR을 머지합니다. feat: 커밋은 minor 버전을 올립니다.

    ✓ PR이 github-actions[bot]에 의해 Merged 상태가 되고, [0.3.0] ✨ Features 같은 댓글이 달립니다.

  6. 릴리스 확인. 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에 이전 버전도 있음: 예제 레포의 릴리스 기록이 복사본에 그대로 따라온 것입니다.