Jenkins Generic Webhook원격 Mac OpenClawcomposer·npm 프리플라이트HTTP 빌드 요약 최소 절차입니다. Node 22.16+·24 LTS, openclaw doctor, 토큰·127.0.0.1·/health를 고정하세요. 헬스·LaunchAgent, 재시도, Discord 요약와 함께 보세요.

왜 여기서 막히나: 프록시·권한·요약 전송

  • 프록시가 JSON 본문을 바꾸면 HMAC 불일치. 원시 바디로 검증.
  • Jenkins게이트웨이가 다른 유저·NODE_PATH면 프리플라이트만 흔들림.
  • 요약 POST레이트·TLS에 걸리면 빌드는 성공인데 알림만 비는 경우.

의사결정 소표: 인증 방식과 되돌림 채널

방식 장점 주의
경로 토큰 설정 단순 URL 유출 시 즉시 교체
HMAC+토큰 위조 완화 플러그인·수신측 동일 규칙
HTTP 요약 대시보드 연동 쉬움 백오프 필수
보조 Webhook Jenkins 상태만 갱신 멱등 키 권장

환경과 최소 권한 준비

Node 22.16+·24 LTS로 통일하고 openclaw doctor로 경로를 확인합니다. 게이트웨이는 127.0.0.1, 외부는 리버스 프록시만. 토큰퍼미션 600 파일 등에만. curl -fsS http://127.0.0.1:포트/healthLaunchAgent로 주기 호출하세요. 에이전트·게이트웨이·쉘동일 유닉스 사용자인지 맞춥니다.

준비 체크리스트
  • 쉘과 launchdwhich node 동일
  • 프록시 본문 재작성
  • 작업 디스크 동시 클론 여유

웹훅 수신과 본 빌드를 분리하면 프리플라이트만 실패했을 때도 로그로 원인을 남기기 쉽습니다. 큐가 길어지면 WORK_ROOT를 빠른 볼륨으로 두고 동시 클론 수를 제한하세요. 장애 알림은 채널을 나누어 노이즈를 줄입니다.

Jenkins Generic Webhook과 서명·토큰 파라미터

Generic Webhook Trigger.../invoke?token=SECRET를 둡니다. 가능하면 파이프라인에서 공유 비밀을 헤더로 보내 OpenClaw에서 HMAC·타임스탬프로 검증. 플러그인이 정한 헤더 이름을 따르세요.

curl -fsS -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${OPENCLAW_HOOK_TOKEN}" \ -d "{\"job\":\"${JOB_NAME}\",\"build\":${BUILD_NUMBER},\"ref\":\"${GIT_BRANCH}\"}" \ "https://mac-runner.example/internal/openclaw/jenkins-hook"

로그에 토큰·URL 마스킹. 알림 스텝은 실패와 분리.

OpenClaw 수신 후 composer·npm 프리플라이트 명령 템플릿

잡·빌드별 작업 디렉터리에서 클론 후 실행. 종료 코드·로그 꼬리를 요약 JSON에 포함.

export COMPOSER_CACHE_DIR="${WORK_ROOT}/composer-cache" composer install --no-interaction --prefer-dist --no-progress npm ci || npm install --prefer-offline --no-audit --no-fund

모노레포는 하위 경로에서 반복. PHP·Node 버전 파일로 고정.

빌드 요약 회송 HTTP·Webhook과 실패 재시도

JSON으로 status·job·build·log_tailPOST. 502·504·거부이·사·팔 초 슬립 후 최대 세 번. 보조 Webhook멱등 키로 중복 방지. connect-timeout·max-time 병행. 수신측이 Retry-After를 주면 그 값을 우선 따르세요.

흔한 오류 FAQ

서명 검증 실패

비밀 문자열 일치·프록시 본문 변형·헤더 이름 스펙을 확인.

간헐 401

토큰 파일·프록시가 Authorization 드랍·구버전 토큰 캐시.

composer만 느림

COMPOSER_PROCESS_TIMEOUT·미러·NO_PROXY·캐시 권한.

맺음말: 상주 게이트웨이전용 원격 Mac이 헬스·재시도·디스크에 유리합니다. 공개 요금제·구매·고객 지원에서 노드를 고르세요.

상주 게이트웨이용 원격 Mac

Jenkins 연동을 24시간 안정적으로

MacPull 원격 Mac으로 OpenClaw·Jenkins 파이프라인을 한 노드에 고정하세요. 요금제·구매·고객 지원·기술 블로그는 로그인 없이 열람할 수 있습니다.

전용 노드
SSH
헬스 유지
지원