마지막으로 Spring Boot 프로젝트에서 DB등의 민감정보를 저장해둔 application.yml 정보를 build시에 주입해주어 실제 배포시에 적용이 된 상태로 실행되도록 하겠습니다.
Jenkins에 접속 후 상단의 이름 화살표를 눌러 나오는 Credentials로 들어갑니다.
System에 있는 (global)을 누릅니다.
Add Credentials를 누릅니다.
아래와 같이 입력합니다.
Kind | Scope | File | Id | Description |
---|---|---|---|---|
Secret file | Global | application.yml 파일 올리기 | 이후 Jenkins Script에서 사용할 이름 | 설명 |
이때 필요한 application.yml 정보를 작성한 yml파일을 선택해주세요.
저장하고 기존 SpringBoot 관련 파이프라인 설정으로 이동합니다.
fetch후 Build를 하기 전 다음 Step을 추가합니다.
stage('Add Env') {
steps {
dir('Epimetheus/backend/epimetheus') {
withCredentials([file(credentialsId: 'application', variable: 'application')]) {
sh 'cp ${application} src/main/resources/application.yml'
}
}
}
}
일단 Jenkins에는 성공적으로 빌드가 되었습니다.
CodeDeploy에서도 실행이 정상적으로 동작했습니다.
서버 로그(application.log)를 확인해보면 정상적으로 실행된 것을 확인할 수 있습니다.