곧 제공

Buildkite

Buildkite 플러그인이 스텝마다 Mac VM을 만들고 명령을 SSH로 실행한 뒤 pre-exit에서 지웁니다.

아직 호출할 수 없습니다. 아래 계약은 공개 Go SDK와 통합 패키지가 이미 쓰는 계약이라 확정되어 있지만, 서버 구현은 만드는 중입니다. 호출할 수 있게 되면 변경 기록에 공지합니다.

integrations/buildkite-pluginpre-command에서 buildkite-<BUILDKITE_JOB_ID> 인스턴스를 만들고 running까지 폴링합니다. command 훅이 BUILDKITE_COMMAND를 표준 입력으로 흘려 bash -s에 실행시키고 원격 종료 코드를 그대로 돌려주며, pre-exit이 실패 여부와 무관하게 인스턴스를 삭제합니다.

steps:
  - label: mac test
    command: xcodebuild -scheme App test
    plugins:
      - cicd-im/cicd-mac-buildkite-plugin#v1:
          project-id: "00000000-0000-0000-0000-000000000000"
          image: macos-tahoe
          type: mac-m4-c8-m12
          region: kr-seoul-1
          ssh-key-path: /var/lib/buildkite-agent/.ssh/id_ed25519

신뢰 경계

API 주소와 SSH 게이트웨이는 에이전트의 플러그인 설정에서만 옵니다. 파이프라인 env:CICD_API_BASE_URL·CICD_SSH_GATEWAY·CICD_SSH_TARGET은 무시하고 경고만 남깁니다. 주소는 https://에 호스트가 cicd.im이거나 그 하위 도메인이어야 하며, 에이전트가 CICD_ALLOW_CUSTOM_BASE_URL=1을 설정한 경우에만 예외입니다. API 키는 환경 변수(CICD_API_KEY 또는 CICD_API_KEY_FILE) 전용이며 플러그인 속성이 아닙니다.

설정

속성기본값용도
CICD_API_KEY (환경 변수)없음(필수)계정 API 키. 파이프라인 YAML에 넣지 마세요.
project-id · image · type · region없음(필수)카탈로그 슬러그
ssh-key-path없음(필수)에이전트의 SSH 개인키 경로
api-base-url · ssh-gateway · ssh-porthttps://cicd.im/api/v1/ · 기본값 없음 · 22에이전트 플러그인 설정에서만
prepare-timeout300running까지 기다리는 초
proxy-tunnelfalse에이전트 프록시로 역터널

HTTP 429와 5xx는 Retry-After(정수 초 또는 HTTP-date, CICD_MAX_RETRY_AFTER로 상한)를 존중하며 제한된 백오프로 재시도합니다. POST 응답을 잃었을 때는 결정적 이름을 조회해 VM을 두 번 만들지 않고, pre-exit은 같은 이름의 인스턴스를 모두 지웁니다. 목록 조회가 2xx가 아니면 시스템 실패이고, 삭제의 404는 성공한 no-op입니다.

API 키는 0600 헤더 파일로 curl에 전달되어 표준 출력·표준 오류·set -x 추적에 남지 않습니다.

자동 테스트는 localhost 목 API와 가짜 ssh만 씁니다. 실제 인스턴스·SSH 게이트웨이 검증은 배포 후에 합니다.