피드로 돌아가기
Dev.toDevOps
원문 읽기
WP-CLI Safe Mode 제약 해결을 통한 Proprietary Update 감지 최적화
When WP admin shows a plugin update but WP-CLI doesn't — making automation see proprietary updaters
AI 요약
Context
WordPress Admin과 WP-CLI 간의 업데이트 감지 불일치 발생. _site_transient_update_plugins 캐시의 stale 상태와 --skip-plugins 플래그로 인한 Pro 플러그인 필터 미작동이 주요 병목 지점으로 분석됨.
Technical Solution
- Transient Cache 강제 갱신:
transient delete명령어를 통해 업데이트 쿼리 전 stale 데이터 제거 및 최신 버전 정보 동기화 - Operation 분리 설계: 플러그인 로드가 필수적인 '업데이트 리스트 쿼리'와 로드가 불필요한 '파일 교체/롤백' 단계로 프로세스 세분화
- Safe Mode 전략 수정: 모든 작업에
--skip-plugins를 적용하던 방식에서 특정 플러그인만 제외하는--skip-plugins=<name>방식으로 전환 - Proprietary Updater 활성화: 플러그인 부팅 시 실행되는
pre_set_site_transient_update_plugins필터가 정상 등록되도록 로드 제어 최적화 - Fatal-error 방어 기제 유지: 개별 플러그인 타겟팅 제외 방식을 통한 시스템 안정성 확보와 업데이트 가시성 동시 달성
실천 포인트
1. 외부 API 기반 업데이트 도구 사용 시 Transient Cache 갱신 주기와 WP-CLI의 조회 시점이 일치하는지 검토
2. `--skip-plugins`와 같은 Safe Mode 옵션이 런타임 필터(Hook) 등록에 미치는 영향 분석
3. 시스템 전체 일괄 적용 옵션보다 리스크 기반의 타겟팅 제외 전략(`--skip-plugins=<name>`) 적용 고려