|
|
@@ -1,9 +1,9 @@
|
|
|
// =====================================================================
|
|
|
-// DPOT Backend Jenkinsfile (IIS In-Process + WinSW Worker)
|
|
|
+// ANTOOZA Backend Jenkinsfile (IIS In-Process + WinSW Worker)
|
|
|
// - Solution: Admin/Admin.slnx (.NET 10)
|
|
|
-// - Components: Web.Api (IIS DPOT-API), Admin (IIS DPOT-Admin), MailWorker (WinSW dpot-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 (dev-*.dpot.live)
|
|
|
+// - Branches: main / dev -> deploy to dev environment (dev-*.antooza.com)
|
|
|
// others -> build/test only
|
|
|
// - Selective: AUTO_DETECT (default) via git diff, or manual checkboxes
|
|
|
// =====================================================================
|
|
|
@@ -31,10 +31,10 @@ pipeline {
|
|
|
JAVA_TOOL_OPTIONS = '-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8'
|
|
|
|
|
|
// Deployment roots (CTL-Window-Server, F: drive)
|
|
|
- IIS_ROOT = 'F:\\IIS\\DPOT'
|
|
|
- IIS_RELEASES = 'F:\\IIS\\DPOT\\_releases'
|
|
|
- WORKER_ROOT = 'F:\\workspace\\DPOT'
|
|
|
- WORKER_RELEASES = 'F:\\workspace\\DPOT\\_releases'
|
|
|
+ IIS_ROOT = 'F:\\IIS\\ANTOOZA'
|
|
|
+ IIS_RELEASES = 'F:\\IIS\\ANTOOZA\\_releases'
|
|
|
+ WORKER_ROOT = 'F:\\workspace\\ANTOOZA'
|
|
|
+ WORKER_RELEASES = 'F:\\workspace\\ANTOOZA\\_releases'
|
|
|
|
|
|
// Project paths (relative to Backend/ working dir on agent)
|
|
|
SLN_FILE = 'Admin\\Admin.slnx'
|
|
|
@@ -53,8 +53,8 @@ pipeline {
|
|
|
MAIL_PATHS = 'MailWorker/'
|
|
|
|
|
|
// Health check (loopback + Host header to hit the right IIS site binding)
|
|
|
- // IIS HTTP binding은 dev-api.dpot.live (HTTPS는 .dev). 내부 health check는 HTTP라 .live 사용.
|
|
|
- API_HEALTH_HOST = 'dev-api.dpot.live'
|
|
|
+ // IIS HTTP binding은 dev-api.antooza.com (HTTPS는 .dev). 내부 health check는 HTTP라 .live 사용.
|
|
|
+ API_HEALTH_HOST = 'dev-api.antooza.com'
|
|
|
}
|
|
|
|
|
|
stages {
|
|
|
@@ -190,7 +190,7 @@ pipeline {
|
|
|
}
|
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
|
- withCredentials([string(credentialsId: 'dpot-db-connection-dev', variable: 'CONN')]) {
|
|
|
+ withCredentials([string(credentialsId: 'antooza-db-connection-dev', variable: 'CONN')]) {
|
|
|
bat 'chcp 65001 >NUL && dotnet tool restore --tool-manifest dotnet-tools.json'
|
|
|
withEnv([
|
|
|
"ConnectionStrings__DefaultConnection=${CONN}",
|
|
|
@@ -211,17 +211,17 @@ pipeline {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
|
script {
|
|
|
if (env.DO_API == 'true') {
|
|
|
- withCredentials([file(credentialsId: 'DEV-DPOT-API', variable: 'CFG')]) {
|
|
|
+ withCredentials([file(credentialsId: 'DEV-ANTOOZA-API', variable: 'CFG')]) {
|
|
|
bat 'copy /Y "%CFG%" publish\\api\\appsettings.Production.json'
|
|
|
}
|
|
|
}
|
|
|
if (env.DO_ADMIN == 'true') {
|
|
|
- withCredentials([file(credentialsId: 'DEV-DPOT-ADMIN', variable: 'CFG')]) {
|
|
|
+ withCredentials([file(credentialsId: 'DEV-ANTOOZA-ADMIN', variable: 'CFG')]) {
|
|
|
bat 'copy /Y "%CFG%" publish\\admin\\appsettings.Production.json'
|
|
|
}
|
|
|
}
|
|
|
if (env.DO_MAIL == 'true') {
|
|
|
- withCredentials([file(credentialsId: 'DEV-DPOT-MAIL', variable: 'CFG')]) {
|
|
|
+ withCredentials([file(credentialsId: 'DEV-ANTOOZA-MAIL', variable: 'CFG')]) {
|
|
|
bat 'copy /Y "%CFG%" publish\\mail\\appsettings.Production.json'
|
|
|
}
|
|
|
}
|
|
|
@@ -237,7 +237,7 @@ pipeline {
|
|
|
when { expression { env.DO_API == 'true' } }
|
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
|
- script { deployIIS('DPOT-API', 'DPOT-API', 'api', 'API', env.API_HEALTH_HOST, true) }
|
|
|
+ script { deployIIS('ANTOOZA-API', 'ANTOOZA-API', 'api', 'API', env.API_HEALTH_HOST, true) }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -246,7 +246,7 @@ pipeline {
|
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
|
// Admin은 /health 엔드포인트가 없어서 AppPool Started 만 검증
|
|
|
- script { deployIIS('DPOT-Admin', 'DPOT-Admin', 'admin', 'Admin', null, false) }
|
|
|
+ script { deployIIS('ANTOOZA-Admin', 'ANTOOZA-Admin', 'admin', 'Admin', null, false) }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -254,7 +254,7 @@ pipeline {
|
|
|
when { expression { env.DO_MAIL == 'true' } }
|
|
|
steps {
|
|
|
dir(env.WORK_SUBDIR) {
|
|
|
- script { deployWinSWWorker('dpot-mail', 'mail') }
|
|
|
+ script { deployWinSWWorker('antooza-mail', 'mail') }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -271,10 +271,10 @@ pipeline {
|
|
|
// ==== Helpers =================================================================
|
|
|
|
|
|
// IIS In-Process 배포.
|
|
|
-// siteName : Jenkins 로그용 라벨 (예: DPOT-API)
|
|
|
-// appPoolName : IIS AppPool 이름 (예: DPOT-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\DPOT\<destFolder> (대소문자: API, Admin)
|
|
|
+// destFolder : F:\IIS\ANTOOZA\<destFolder> (대소문자: API, Admin)
|
|
|
// healthHost : Host 헤더로 보낼 도메인 (null이면 health 생략)
|
|
|
// checkHealth : true면 /health 200 확인, false면 AppPool Started 만 확인
|
|
|
def deployIIS(siteName, appPoolName, srcSubdir, destFolder, healthHost, checkHealth) {
|