fix
Some checks failed
main-branch-frovide/pipeline/head There was a failure building this commit

This commit is contained in:
Insub Kim 2025-06-05 06:16:14 +00:00
parent 370cbfaaff
commit 9c2fdd05c5

29
Jenkinsfile vendored
View File

@ -1,5 +1,11 @@
pipeline { pipeline {
agent any // 배포 서버에 직접 SSH 접속하는 경우, 특정 Jenkins 에이전트 레이블을 지정할 수 있음 agent {
// 빌드 에이전트가 특정 레이블을 가지고 있다면 여기에 지정
// label 'your-jenkins-agent-label'
tools {
nodejs 'NodeJS 18' // 'NodeJS 18'은 위에서 설정한 Node.js installation의 이름입니다.
}
}
environment { environment {
// Jenkins Credentials ID (SSH 접속용) // Jenkins Credentials ID (SSH 접속용)
@ -29,6 +35,13 @@ pipeline {
HEALTH_CHECK_INTERVAL_SECONDS = 5 HEALTH_CHECK_INTERVAL_SECONDS = 5
} }
REMOTE_NPM_CACHE_DIR = "/home/kegorii/.npm" // 이 경로는 Jenkins 에이전트가 아닌 배포 서버의 경로이므로 주의
// 이 빌드 단계에서는 Jenkins 에이전트의 로컬 npm 캐시 경로를 사용해야 합니다.
// Jenkins 에이전트의 npm cache가 필요하다면, Jenkins 에이전트의 경로를 지정해야 합니다.
// 또는 npm install --prefix . --cache 옵션을 생략하고 Jenkins 에이전트가 기본 캐시를 사용하게 할 수도 있습니다.
// 일단은 `npm install` 만 시도해보고, 캐시 문제가 발생하면 다시 고려하는 것이 좋습니다.
stages { stages {
stage('Checkout Source Code') { stage('Checkout Source Code') {
steps { steps {
@ -40,11 +53,15 @@ pipeline {
stage('Install Dependencies and Build (SvelteKit)') { stage('Install Dependencies and Build (SvelteKit)') {
steps { steps {
// Groovy 문자열 내에서 ${} 구문을 사용하여 Jenkins 환경 변수를 직접 삽입합니다. // 이제 'npm' 명령어를 직접 호출할 수 있습니다.
// sh 명령은 이중 따옴표로 감싸서 Jenkins가 내부의 Groovy 변수를 먼저 치환하게 합니다. // Jenkins Node.js 플러그인이 PATH를 자동으로 설정해줍니다.
sh "npm install --prefix . --cache ${env.REMOTE_NPM_CACHE_DIR}" // --prefix . 옵션은 현재 디렉토리에 node_modules를 설치하라는 의미입니다.
sh "npm run build" // --cache 옵션은 Jenkins 에이전트의 로컬 캐시를 사용하게 됩니다.
echo "SvelteKit project built successfully." // Jenkins 에이전트에 대한 전역 캐시 경로가 따로 없다면, 이 옵션을 제거하거나 Jenkins 에이전트의 적절한 캐시 경로를 지정해야 합니다.
// 일반적으로는 이 옵션 없이 `npm install`만으로도 충분합니다.
sh "npm install" // --prefix . --cache ${env.REMOTE_NPM_CACHE_DIR} 부분을 제거하고 먼저 시도
sh "npm run build"
echo "SvelteKit project built successfully."
} }
} }