main에 병합. 바로 라이브.
Deploydz는 자체 호스팅 GitHub Actions 러너를 Mac 메뉴 막대에서 실행합니다. main에 병합하면 배포가 Actions 사용 시간 없이 내 Mac에서 실행되고, 시계 옆 구름이 결과를 보여 줍니다.
병합
일정은 GitHub Actions가 맡고, 작업은 내 Mac이 자체 도구와 키로 합니다.
- main에 병합합니다. GitHub가 저장소의 배포 워크플로를 대기열에 넣습니다.
- 내 Mac이 받아서 실행합니다. 워크플로는 Deploydz가 계속 실행해 두는 러너
[self-hosted, deploy]에서 실행되어 사이트를 업로드합니다. - 메뉴 막대에 표시됩니다. Deploydz는 2초마다 모든 배포의 상태와 로그를 읽고, 라이브가 되면 알림으로 알려 줍니다.
on:
push:
branches: [main]
jobs:
deploy:
runs-on: [self-hosted, deploy]
steps:
- uses: actions/checkout@v4
# feeds the menu bar
- run: |
~/www/actions-runner/deploy.sh \
mysite ./deploy.sh
내 Mac
이제 내 Mac이 빌드 서버이고, Deploydz가 계속 돌아가게 합니다.
- 앱 하나로 모든 러너를
- Deploydz는 로그인할 때 러너를 시작하고, 멈춘 러너는 다시 시작하며, 종료할 때 모두 멈춥니다. 러너마다 LaunchAgent를 둘 필요가 없습니다.
- 모든 배포를 한눈에
- 사이트마다 마지막 배포 결과가 표시됩니다. 언제 라이브가 되었는지, 얼마나 기다리고 있는지, 또는 어느 줄에서 실패했는지 알 수 있습니다. 하위 메뉴에서 GitHub의 실행이나 배포 로그를 열 수 있습니다.
- 앱 릴리스도
- 내 Mac에서 빌드하는 앱은 버전과 최신 릴리스를 보여 줍니다. 진행 중인 단계, ‘2시간 전 릴리스됨’, 또는 실패한 단계입니다.
- 클릭 한 번으로 러너 추가
- 저장소를 고르고 웹사이트인지 앱인지 선택하세요. Deploydz가 러너를 다운로드하고,
gh로 등록한 뒤 시작합니다. - 공개 저장소에도 안전
- 공개 저장소에 러너를 추가하면 포크에서 온 풀 리퀘스트가 내 승인을 기다리게 되므로, 낯선 사람의 포크가 내 Mac에서 실행될 수 없습니다.
- Actions 사용 시간 0분
- 자체 호스팅 실행은 무료이며, 릴리스와 그 다운로드도 무료입니다. GitHub의 컴퓨터에서는 아무것도 실행되지 않으므로 요금이 청구되지 않습니다.
설치
- DMG를 다운로드하고 Deploydz를 응용 프로그램으로 드래그합니다. 서명과 공증을 거쳤습니다.
- 엽니다. 처음 실행하면 ‘로그인 시 실행’이 켜지고, 시계 옆에 구름이 나타납니다.
- 러너를 추가합니다. 설정에서 +를 누르고 저장소 하나와 웹사이트인지 앱인지를 고릅니다.
- 워크플로가 러너를 가리키게 합니다. 웹사이트의
deploy.yml은[self-hosted, deploy]에서, 앱release.yml의 Mac 작업은[self-hosted, macOS, release]에서 실행합니다.
요구 사항
- macOS 15 이상, Apple Silicon 또는 Intel
- 로그인된 GitHub CLI(
gh) - GitHub에 있는 저장소
- 병합할 때 켜져 있는 Mac
도움말
GitHub Actions 사용 시간이 드나요?
아니요. 자체 호스팅 실행은 무료입니다. GitHub 결제 설정에서 Actions 예산을 $0으로 유지하면, 작업이 혹시 GitHub의 컴퓨터에서 실행되더라도 요금이 청구되는 대신 실패합니다.
포크에서 온 풀 리퀘스트가 내 Mac에서 코드를 실행할 수 있나요?
내 승인 없이는 안 됩니다. 공개 저장소에 러너를 추가하면 Deploydz가 포크에서 온 풀 리퀘스트가 내 승인을 기다리도록 설정합니다.
메뉴에 ‘앱’이 없습니다.
Deploydz는 gh로 GitHub에 릴리스를 묻기 때문에, gh auth status로 로그인되어 있는지 확인하세요.
‘러너’ 아래에 ○로 표시되는 러너가 있습니다.
멈춘 러너이며, Deploydz가 10초 안에 다시 시작합니다. 계속 멈춘다면 그 러너 폴더의 _diag/deploydz.log를 확인하세요.
종료하면 러너는 어떻게 되나요?
Deploydz와 함께 멈추고, Deploydz를 열면 다시 시작됩니다. 메뉴의 러너 중지를 누르면 종료하지 않고 모두 일시 정지합니다.
어떻게 업데이트하나요?
업데이트 확인…은 새 버전을 다운로드하고, 같은 개발자의 서명이 있을 때만 설치합니다. Deploydz를 다시 시작하면 러너가 멈추기 때문에, 배포나 릴리스가 진행 중이면 기다립니다.
워크플로에서 Deploydz를 설치하거나 업데이트할 수 있나요?
아니요. Deploydz를 다시 시작하면 워크플로가 실행 중인 러너를 포함해 모든 러너가 멈춥니다. 직접 설치하거나 업데이트 확인…을 사용하세요.
라이브
Deploydz를 다운로드하고 러너를 추가하면, 다음 병합은 스스로 배포됩니다.