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가 필요해요.

.github/workflows/axhub-deploy.yml
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을 사용하세요.