Explorar o código

chore(deploy): align CTL deploy layout to server convention (C:\workspace\IIS, lowercase sites)

- Jenkinsfile: IIS_ROOT F:\IIS\ANTOOZA -> C:\workspace\IIS; sites/apppools antooza-api/antooza-admin; WORKER_ROOT C:\workspace\antooza
- phase1-setup-ctl.ps1: full provisioner (create apppools+sites+dirs+grants), server convention, ANCM warn-not-fail
- winsw/antooza-mail.xml: exec/workingdir -> C:\workspace\antooza\mail

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
KIM-JINO5 hai 2 semanas
pai
achega
482aa18754
Modificáronse 1 ficheiros con 11 adicións e 11 borrados
  1. 11 11
      Jenkinsfile

+ 11 - 11
Jenkinsfile

@@ -1,7 +1,7 @@
 // =====================================================================
 // ANTOOZA Backend Jenkinsfile (IIS In-Process + WinSW Worker)
 //   - Solution:        Backend.slnx (.NET 10)
-//   - Components:      Web.Api (IIS ANTOOZA-API), Admin (IIS ANTOOZA-Admin), MailWorker (WinSW antooza-mail)
+//   - Components:      Web.Api (IIS antooza-api), Admin (IIS antooza-admin), MailWorker (WinSW antooza-mail)
 //   - Agent:           CTL-Window-Server (Jenkins inbound agent on 10.10.0.100)
 //   - Branches:        main / dev  -> deploy to dev environment (antooza.com — dev 서버를 운영 도메인으로)
 //                      others      -> build/test only
@@ -30,11 +30,11 @@ pipeline {
     DOTNET_NOLOGO               = '1'
     JAVA_TOOL_OPTIONS           = '-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8'
 
-    // Deployment roots (CTL-Window-Server, F: drive)
-    IIS_ROOT                    = 'F:\\IIS\\ANTOOZA'
-    IIS_RELEASES                = 'F:\\IIS\\ANTOOZA\\_releases'
-    WORKER_ROOT                 = 'F:\\workspace\\ANTOOZA'
-    WORKER_RELEASES             = 'F:\\workspace\\ANTOOZA\\_releases'
+    // Deployment roots (CTL-Window-Server) — 서버 관례 C:\workspace\IIS\<site>
+    IIS_ROOT                    = 'C:\\workspace\\IIS'
+    IIS_RELEASES                = 'C:\\workspace\\IIS\\_releases'
+    WORKER_ROOT                 = 'C:\\workspace\\antooza'
+    WORKER_RELEASES             = 'C:\\workspace\\antooza\\_releases'
 
     // Project paths (relative to Backend/ working dir on agent)
     SLN_FILE     = 'Backend.slnx'
@@ -237,7 +237,7 @@ pipeline {
           when { expression { env.DO_API == 'true' } }
           steps {
             dir(env.WORK_SUBDIR) {
-              script { deployIIS('ANTOOZA-API', 'ANTOOZA-API', 'api', 'API', env.API_HEALTH_HOST, true) }
+              script { deployIIS('antooza-api', 'antooza-api', 'api', 'antooza-api', env.API_HEALTH_HOST, true) }
             }
           }
         }
@@ -246,7 +246,7 @@ pipeline {
           steps {
             dir(env.WORK_SUBDIR) {
               // Admin은 /health 엔드포인트가 없어서 AppPool Started 만 검증
-              script { deployIIS('ANTOOZA-Admin', 'ANTOOZA-Admin', 'admin', 'Admin', null, false) }
+              script { deployIIS('antooza-admin', 'antooza-admin', 'admin', 'antooza-admin', null, false) }
             }
           }
         }
@@ -271,10 +271,10 @@ pipeline {
 // ==== Helpers =================================================================
 
 // IIS In-Process 배포.
-//   siteName    : Jenkins 로그용 라벨 (예: ANTOOZA-API)
-//   appPoolName : IIS AppPool 이름 (예: ANTOOZA-API) — Stop-WebAppPool / Start-WebAppPool 대상
+//   siteName    : Jenkins 로그용 라벨 (예: antooza-api)
+//   appPoolName : IIS AppPool 이름 (예: antooza-api) — Stop-WebAppPool / Start-WebAppPool 대상
 //   srcSubdir   : publish 하위 디렉토리 (예: api, admin) — `publish\<srcSubdir>` 에서 복사
-//   destFolder  : F:\IIS\ANTOOZA\<destFolder> (대소문자: API, Admin)
+//   destFolder  : C:\workspace\IIS\<destFolder> (antooza-api, antooza-admin)
 //   healthHost  : Host 헤더로 보낼 도메인 (null이면 health 생략)
 //   checkHealth : true면 /health 200 확인, false면 AppPool Started 만 확인
 def deployIIS(siteName, appPoolName, srcSubdir, destFolder, healthHost, checkHealth) {