From a0e16573bd62689e252e63d38a2252bef4b3742a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=9E=AC=EC=A4=91?= <126754298+m-a-king@users.noreply.github.com> Date: Thu, 15 Oct 2026 15:40:46 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=B0=B0=ED=8F=AC=EC=9D=98=20TLS=20?= =?UTF-8?q?=EC=9D=B8=EC=A6=9D=EC=84=9C=20=EC=A1=B4=EC=9E=AC=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8=EC=9D=84=20sudo=20=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /etc/letsencrypt/live 확인을 sudo test -d 로 교체 - 원인: live 는 700 root 라 ubuntu 의 [ -d ] 는 cert 가 있어도 거짓 (dev 박스 실측) - 결과(이전): 평소 배포는 매번 certbot 호출. 갱신 대상이 아니라 no action 으로 끝나 드러나지 않음 - 결과(이전): #1219 의 이관 모드 분기는 cert 를 옮겨 둔 뒤에도 "cert 없음" 으로 배포를 멈춤 --- .github/workflows/deploy.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a8c769ad..7b5fdac6 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -329,7 +329,8 @@ jobs: DOMAIN: ${{ needs.resolve.outputs.domain }} MIGRATION_HOST: ${{ inputs.migration_host }} SCRIPT: | - if [ -d "/etc/letsencrypt/live/$DOMAIN" ]; then + # live/ 는 root 만 읽는다(0700). sudo 없이 보면 cert 가 있어도 늘 "없음" 이다. + if sudo test -d "/etc/letsencrypt/live/$DOMAIN"; then echo "[certbot] $DOMAIN cert 이미 존재 — skip" elif [ -n "$MIGRATION_HOST" ]; then echo "::error::[이관 모드] 신 박스에 $DOMAIN cert 가 없다 — migrate.yml 의 provision 을 먼저 실행할 것"