지식 베이스

Zinnector®로 배포하기: 연결, 확인, 푸시

로컬 프로젝트에서 라이브 사이트까지: API 키로 로그인하고, 프로젝트를 호스팅 슬롯에 연결하고, 슬롯과 PHP, 디스크, WordPress를 비교하는 사전 점검(pre-flight)을 확인한 뒤 푸시하세요. 여기에 재배포, 배포 기록, 문제가 발생했을 때의 빌드 로그 기능도 함께 제공됩니다.

로컬에서 프로젝트가 실행되면 네 가지 명령어를 통해 Zinn Digital® 호스팅의 라이브 사이트로 배포할 수 있습니다. 로그인, 프로젝트를 호스팅 슬롯에 연결, 사전 점검(pre-flight) 확인, 그리고 푸시입니다. 이 문서에서는 각 명령어, 출력되는 내용, 그리고 그 이후에 사용하는 명령어인 재배포, 배포 기록, 빌드 로그에 대해 차례대로 살펴봅니다.

API 키로 로그인하기

대시보드의 설정(Settings) → API 키(API keys)에서 키를 생성한 다음, 다음을 실행합니다.

zinnector login

키는 프롬프트에 직접 입력해야 하며, 절대로 커맨드 라인에서 인수로 허용되지 않습니다. 따라서 셸 기록이나 프로세스 목록에 남지 않습니다. CI 환경에서는 echo "$ZINN_API_KEY" | zinnector login --profile ci와 같이 파이프(pipe)로 전달하거나, ZINNECTOR_TOKEN을 설정하여 login 과정을 완전히 건너뛸 수 있습니다. 키는 저장되기 전에 검증되며, 파일 모드 600으로 저장됩니다. zinnector whoami --scopes를 실행하면 현재 로그인한 조직과 해당 키가 가진 권한을 확인할 수 있으며, 샌드박스 키는 별도로 표시됩니다.

프로젝트를 슬롯에 연결하기

zinnector link                                   # 목록에서 사이트 선택
zinnector link example.com --repo acme/site --branch main

link 명령어는 사이트 ID를 zinnector.json에 기록하며, --no-repo를 전달하지 않는 한 플랫폼상의 사이트에 프로젝트의 git 원격 저장소를 연결하여 푸시를 통해 배포될 수 있도록 합니다. zinnector.json을 커밋해 두세요. 나중에 저장소를 복제(clone)한 동료가 별도의 안내 없이도 동일한 위치에 바로 배포할 수 있습니다. 여기에는 비밀 정보가 포함되지 않습니다.

사전 점검(pre-flight) 확인하기

zinnector check

이 명령어는 CLI가 존재하는 이유입니다. 프로젝트와 배포될 슬롯을 비교하여 모든 불일치 사항과 확인할 수 없었던 비교 항목들을 출력합니다.

  • PHP 버전: 메이저 버전 간격은 사이트를 확실하게 중단시키므로 높음(high)으로 평가하며, 마이너 버전 간격은 낮게 평가합니다. 모든 것을 치명적으로 평가하면 경고를 무시하는 법을 배우게 되기 때문입니다.
  • 슬롯이 사용자가 빌드한 버전으로 전환할 수 있는지, 슬롯의 PHP가 지원 종료(end of life)를 지났는지, 그리고 시스템이 해당 버전을 적용했는지 아니면 단순히 전달만 받았는지 여부.
  • 슬롯에 실제로 남은 디스크 및 아이노드(inode) 여유 공간 대비 프로젝트의 용량 및 파일 수 — WordPress 트리 구조는 디스크 제한에 한참 못 미쳐도 파일 수 제한으로 인해 실행이 중단될 수 있습니다.
  • 양쪽의 WordPress 버전, 슬롯의 프로비저닝 완료 여부, 그리고 푸시할 저장소가 연결되어 있는지 여부.

이는 경고일 뿐, 배포를 차단하지는 않습니다. 검사기가 알지 못하는 사이트의 특수한 상황을 사용자가 직접 알고 있을 수 있으므로, 모든 결과는 zinnector push --force를 통해 재정의(overrides)할 수 있습니다. 확인할 수 없었던 비교 결과는 통과(pass)가 아니라 알 수 없음(unknown)으로 보고되며, 요약에는 항상 그 개수가 표시됩니다. 기본적으로 로컬 PHP 버전은 zinnector.json선언된 버전입니다. --probe를 사용하면 로컬 런타임을 부팅하여 대신 측정합니다. --strict는 알 수 없음 항목이 있을 경우 0이 아닌 코드로 종료하므로 CI 게이트에서 유용합니다.

푸시(Push)하기

zinnector push

push 명령어는 사전 점검을 실행하고, 커밋을 푸시하며, 배포를 트리거하고 완료될 때까지 모니터링하면서 최종 상태와 배포된 커밋을 출력합니다. --dry-run은 배포를 제외한 모든 작업을 수행하며, --no-wait은 배포를 트리거한 후 바로 종료하고, --no-git은 푸시 없이 플랫폼에 이미 있는 내용을 그대로 배포합니다. 배포된 커밋이 방금 푸시한 커밋과 다를 경우, 그 사실을 알려줍니다.

문제가 발생했을 때

zinnector deploys example.com        # 배포 기록 — 상태, 커밋, 트리거, 메시지
zinnector logs example.com --build   # 가장 최근 배포의 빌드 로그
zinnector logs example.com --error   # 사이트의 오류 로그
zinnector deploy example.com         # 플랫폼에 이미 있는 내용 재배포
zinnector ai "why is my deploy failing?"

zinnector ai는 사용자의 계정으로 플랫폼 상에서 실행되므로 동일한 배포 기록과 로그를 조회할 수 있습니다. 프로젝트 내부에서 실행하면 디렉터리 이름, 버전, 사이트 ID 등 프로젝트의 형태만 전송하며, 파일 내용은 절대 전송하지 않습니다.

관련 문서

모든 개발자 문서

블로그 최신 소식

호스팅, SEO, 대규모 사이트 운영에 관해 저희가 다루어 온 글들입니다.

호스팅 레이어에서의 SEO 및 링크 빌딩: 2026년 운영자 관점

2026년 웹 호스팅이 색인 생성과 링크 에퀴티에 미치는 영향: 페이지 색인 유지, 구축 전 기존 도메인 검증, 흔적 없는 링크 빌딩, 그리고 인프라가 SEO에 기여할 수 있는 부분과 없는 부분에 대한 솔직한 진실.

게시물 읽기

WordPress 속도와 보안 향상: 성능 및 플러그인 체크리스트

빠르고 안전한 WordPress 구축을 위한 실용적인 체크리스트: 서버 수준 캐싱, 사이트별 객체 캐시, 사용할 가치가 있는 소수의 플러그인, 스택을 최신 상태로 유지하기, 그리고 절대 캐시해서는 안 되는 WooCommerce 페이지.

게시물 읽기

2026년 매니지드 웹 호스팅 선택 방법: 구매 가이드

좋은 매니지드 호스팅과 제어판만 달린 저렴한 서버의 진정한 차이점—마이그레이션, 백업, 격리, 진짜 캐싱, 그리고 정직한 스케일링—과 계약 전에 이를 판단하는 방법.

게시물 읽기

블로그 읽기

여전히 해결되지 않으셨나요?

모든 요금제에 지원이 포함되어 있으며, 모국어로 답변을 받아보실 수 있습니다.

고객센터 문의 모든 문서