This commit is contained in:
parent
370cbfaaff
commit
9c2fdd05c5
25
Jenkinsfile
vendored
25
Jenkinsfile
vendored
@ -1,5 +1,11 @@
|
||||
pipeline {
|
||||
agent any // 배포 서버에 직접 SSH 접속하는 경우, 특정 Jenkins 에이전트 레이블을 지정할 수 있음
|
||||
agent {
|
||||
// 빌드 에이전트가 특정 레이블을 가지고 있다면 여기에 지정
|
||||
// label 'your-jenkins-agent-label'
|
||||
tools {
|
||||
nodejs 'NodeJS 18' // 'NodeJS 18'은 위에서 설정한 Node.js installation의 이름입니다.
|
||||
}
|
||||
}
|
||||
|
||||
environment {
|
||||
// Jenkins Credentials ID (SSH 접속용)
|
||||
@ -29,6 +35,13 @@ pipeline {
|
||||
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 {
|
||||
stage('Checkout Source Code') {
|
||||
steps {
|
||||
@ -40,9 +53,13 @@ pipeline {
|
||||
|
||||
stage('Install Dependencies and Build (SvelteKit)') {
|
||||
steps {
|
||||
// Groovy 문자열 내에서 ${} 구문을 사용하여 Jenkins 환경 변수를 직접 삽입합니다.
|
||||
// sh 명령은 이중 따옴표로 감싸서 Jenkins가 내부의 Groovy 변수를 먼저 치환하게 합니다.
|
||||
sh "npm install --prefix . --cache ${env.REMOTE_NPM_CACHE_DIR}"
|
||||
// 이제 'npm' 명령어를 직접 호출할 수 있습니다.
|
||||
// Jenkins Node.js 플러그인이 PATH를 자동으로 설정해줍니다.
|
||||
// --prefix . 옵션은 현재 디렉토리에 node_modules를 설치하라는 의미입니다.
|
||||
// --cache 옵션은 Jenkins 에이전트의 로컬 캐시를 사용하게 됩니다.
|
||||
// Jenkins 에이전트에 대한 전역 캐시 경로가 따로 없다면, 이 옵션을 제거하거나 Jenkins 에이전트의 적절한 캐시 경로를 지정해야 합니다.
|
||||
// 일반적으로는 이 옵션 없이 `npm install`만으로도 충분합니다.
|
||||
sh "npm install" // --prefix . --cache ${env.REMOTE_NPM_CACHE_DIR} 부분을 제거하고 먼저 시도
|
||||
sh "npm run build"
|
||||
echo "SvelteKit project built successfully."
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user