|
@@ -1,7 +1,7 @@
|
|
|
// =====================================================================
|
|
// =====================================================================
|
|
|
// ANTOOZA Backend Jenkinsfile (IIS In-Process + WinSW Worker)
|
|
// ANTOOZA Backend Jenkinsfile (IIS In-Process + WinSW Worker)
|
|
|
// - Solution: Backend.slnx (.NET 10)
|
|
// - 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)
|
|
// - Agent: CTL-Window-Server (Jenkins inbound agent on 10.10.0.100)
|
|
|
// - Branches: main / dev -> deploy to dev environment (antooza.com — dev 서버를 운영 도메인으로)
|
|
// - Branches: main / dev -> deploy to dev environment (antooza.com — dev 서버를 운영 도메인으로)
|
|
|
// others -> build/test only
|
|
// others -> build/test only
|
|
@@ -30,11 +30,11 @@ pipeline {
|
|
|
DOTNET_NOLOGO = '1'
|
|
DOTNET_NOLOGO = '1'
|
|
|
JAVA_TOOL_OPTIONS = '-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8'
|
|
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)
|
|
// Project paths (relative to Backend/ working dir on agent)
|
|
|
SLN_FILE = 'Backend.slnx'
|
|
SLN_FILE = 'Backend.slnx'
|
|
@@ -237,7 +237,7 @@ pipeline {
|
|
|
when { expression { env.DO_API == 'true' } }
|
|
when { expression { env.DO_API == 'true' } }
|
|
|
steps {
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
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 {
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
dir(env.WORK_SUBDIR) {
|
|
|
// Admin은 /health 엔드포인트가 없어서 AppPool Started 만 검증
|
|
// 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 =================================================================
|
|
// ==== Helpers =================================================================
|
|
|
|
|
|
|
|
// IIS In-Process 배포.
|
|
// 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>` 에서 복사
|
|
// 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 생략)
|
|
// healthHost : Host 헤더로 보낼 도메인 (null이면 health 생략)
|
|
|
// checkHealth : true면 /health 200 확인, false면 AppPool Started 만 확인
|
|
// checkHealth : true면 /health 200 확인, false면 AppPool Started 만 확인
|
|
|
def deployIIS(siteName, appPoolName, srcSubdir, destFolder, healthHost, checkHealth) {
|
|
def deployIIS(siteName, appPoolName, srcSubdir, destFolder, healthHost, checkHealth) {
|