diff --git a/src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt b/src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt index 81b39488..dc437585 100644 --- a/src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt +++ b/src/main/kotlin/com/dcd/server/core/common/file/FileContent.kt @@ -36,13 +36,13 @@ object FileContent { private fun getNestJsDockerFileContent(version: String, port: Int, env: Map, initialScripts: List): String = """ FROM node:${version} - COPY . . - RUN npm install - RUN npm run build - EXPOSE $port ${getEnvString(env)} ${getInitialScriptsString(initialScripts)} - CMD ["npm", "start"] + COPY package*.json ./ + COPY dist ./dist + RUN npm ci --production=true + EXPOSE $port + CMD ["sh", "-c", "TZ=Asia/Seoul node dist/main.js"] """.trimIndent() private fun getMYSQLDockerFileContent(version: String, port: Int, env: Map, initialScripts: List): String = diff --git a/src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt b/src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt index 52cbd578..b234b1bd 100644 --- a/src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt +++ b/src/main/kotlin/com/dcd/server/core/domain/application/service/impl/BuildDockerImageServiceImpl.kt @@ -51,6 +51,9 @@ class BuildDockerImageServiceImpl( commandPort.executeShellCommand("cd ./$directoryName && ./gradlew clean build") commandPort.executeShellCommand("cd ./$directoryName && docker build -t ${application.containerName}:latest .") } + ApplicationType.NEST_JS -> { + commandPort.executeShellCommand("cd ./$directoryName && npm run build && docker build -t ${application.containerName}:latest .") + } else -> { commandPort.executeShellCommand("cd ./$directoryName && docker build -t ${application.containerName}:latest .") }