GitHub Actions와 AXHub 배포
현재 CLI 0.17.4 기준 GitHub 연결, 자동 배포, CI에서 안전하게 쓰는 방법
권장 경로
AXHub의 기본 GitHub 연동은 GitHub Actions workflow를 직접 쓰는 것보다 AXHub GitHub App 연결 + backend webhook 배포예요.
axhub apps git connect --app <app> --repo owner/repo --branch main --execute
axhub apps git status --app <app>연결 뒤 push webhook이 들어오면 backend Deploy context가 배포를 시작할 수 있어요.
Actions에서 CLI를 쓸 때
CI에서 명시적으로 CLI를 호출해야 한다면 OAuth token file 또는 허용된 PAT surface를 사용하세요. 배포/admin route는 OAuth가 필요해요.
name: axhub deploy
on:
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install axhub
run: curl -fsSL https://cli.axhub.ai/install.sh | bash
- name: Deploy
env:
AXHUB_NO_KEYCHAIN: "1"
AXHUB_NO_INPUT: "1"
AXHUB_TOKEN_FILE: ${{ secrets.AXHUB_TOKEN_FILE_PATH }}
run: |
~/.axhub/bin/axhub --json deploy create --app "$AXHUB_APP" --execute실제 secret 주입 방식은 조직의 보안 정책에 맞춰 구성하세요. token 값을 로그에 출력하지 마세요.
에이전트 안전 옵션
- mutation retry에는
--idempotency-key를 고정하세요. - no-TTY 환경은
AXHUB_NO_INPUT=1,AXHUB_NO_KEYCHAIN=1을 설정하세요. - watch/follow 명령은 agent context에서 snapshot 모드로 바뀔 수 있으니 명시적
--watch-timeout/--limit을 사용하세요.