분류 전체보기
Jenkins와 Ansible을 이용한 CI/CD 프로세스 만들어보기 (내가 만든 서비스 배포까지)
Jenkins와 Ansible을 이용한 CI/CD 프로세스 만들어보기 (내가 만든 서비스 배포까지)
2023.09.22Jenkins와 Ansible을 이용해 Spring Boot application을 빌드하고 서버에 배포하는 모든 과정(CI/CD)을 자동화해보는 내용을 정리해보려고 합니다. 이 글을 통해 Jenkins와 Ansible을 통해 빌드, 배포 과정을 처음 만들어보려는 분들에게 작게나마 도움이 되셨으면 좋겠습니다. 본론으로 바로 들어가보겠습니다. 📌 1. 준비물 CI/CD 프로세르를 만들어보기 전에 준비물이 있는데요. Spring Boot 프로젝트, Jenkins가 설치된 서버(로컬, 클라우드 서버 상관없습니다), Ansible이 필요한데요. 지난 저의 게시글 중에 Jenkins, Ansible 간단하게 구성해보는 글이 있으니 참고하셔도 좋을 것 같습니다. 또한 배포할 대상이 되는 간단한 Spring Boot..
[Vault] Spring Boot에 vault secret 정보를 적용해보자
[Vault] Spring Boot에 vault secret 정보를 적용해보자
2023.09.05이번 게시글은 Spring Boot Applicaiton에 vault secret 데이터들을 적용했던 내용을 정리하는 글입니다. vault 서버가 준비가 안되어있다면 이전에 제가 작성한 글이나 구글링을 통해 vault 설치를 먼저하시는 것을 추천드립니다. https://beaniejoy.tistory.com/100 Vault 서버를 설치해보자(AWS, Lightsail에 vault 서버 구축해보기) Spring Boot 애플리케이션을 개발하다보면 민감한 정보들을 설정해야할 때가 있습니다. DB 연동시 필수적으로 입력해야 하는 jdbc url, username, password 정보도 있고 Security 인증 관련해서 토큰 발급을 beaniejoy.tistory.com 📌 1. Spring Boot 프로..
[Jenkins] Ansible plugin 사용해보기(ansible 설치부터 pipeline까지 작업)
[Jenkins] Ansible plugin 사용해보기(ansible 설치부터 pipeline까지 작업)
2023.08.17지난 게시글 중에 Jenkins 서버를 설치하고 Spring boot project 대상으로 간단하게 테스트, 빌드까지 해보는 Jenkins pipeline을 적용해보는 글이 있었습니다. 이번 게시글을 읽기 전에 먼저 읽어보시는 것을 추천드립니다. (https://beaniejoy.tistory.com/95) [Jenkins] Lightsail에 Jenkins server 구축해보고 Spring project 빌드해보기 목적 - AWS Lightsail을 통해 생성한 instance에 jenkins server 구축한 내용 기록용 목표 - AWS Lightsail에 띄운 instance에 jenkins server 띄우기 - jenkins server 기본적인 설정 - jenkins item 생성 후 s..
Vault 서버를 설치해보자(AWS, Lightsail에 vault 서버 구축해보기)
Vault 서버를 설치해보자(AWS, Lightsail에 vault 서버 구축해보기)
2023.07.30Spring Boot 애플리케이션을 개발하다보면 민감한 정보들을 설정해야할 때가 있습니다. DB 연동시 필수적으로 입력해야 하는 jdbc url, username, password 정보도 있고 Security 인증 관련해서 토큰 발급을 위한 secret_key도 있을 수 있습니다. 이러한 민감 정보들을 Spring 프로젝트에서 application.yml 파일에 작성해놓고 github origin repository에 push하는 순간 외부에 DB 서버 접근 정보를 노출하게 되는 심각한 상황에 마주하게 될 것입니다. 📌 0. Vault를 도입하게 된 직접적인 계기... Spring Boot를 이용한 개인 애플리케이션 개발을 진행하면서 Jenkins를 통해 CI/CD 자동화 프로세스를 적용해보았는데요. 그..
[JPA] UnexpectedRollbackException과 AOP에서 상황별 롤백(rollback)여부에 대해 알아보자
[JPA] UnexpectedRollbackException과 AOP에서 상황별 롤백(rollback)여부에 대해 알아보자
2023.06.30이번 게시글은 Spring에서 자주 사용하는 @Transactional이 예외를 마주하게 되었을 때 발생하는 롤백에 대해서 정리해보고자 합니다. @Transactional에서 여러 propagation 옵션이 있는데 이번 게시글에서는 REQUIRED, REQUIRES_NEW에 대해서만 다룰 예정입니다. 두 개의 propagation 상황에서 어떤 Exception이 언제 발생하는지에 따라 롤백이 일어나는지 아닌지에 대해서도 다루려고 합니다. 그리고 또한 Custom AOP를 적용했을 때 그 안에서 발생하는 예외는 어떻게 처리가 되는지 정리해보고자 합니다. 지금부터 여러 케이스를 통해 롤백 발생여부를 알아보려 하는데요. 기본적인 테스트를 위한 로직 틀은 다음과 같습니다. @Slf4j @Service @Re..
Jenkins의 flywayrunner plugin을 통해 DB migration 자동화하기(jenkins pipeline)
Jenkins의 flywayrunner plugin을 통해 DB migration 자동화하기(jenkins pipeline)
2023.05.23목표 - DB migration 용도의 Jenkinsfile 작성해보기 - Jenkins pipeline을 통해 flyway migration 자동화 적용 - Jenkins에서 item에 버튼 하나 누르면 알아서 migration 작업 진행하도록 적용 - DB 테이블에 대한 migration 이력을 프로젝트에서 파일(.sql)로 관리 가능 해당 글을 보시기 전에 Jenkins 서버 설치가 되어있어야 합니다. Jenkins 설치 방법은 여러 블로그 글에 자세하고 친절하게 소개를 하고 계시더라구요. (아니면 ChatGPT로,,,) AWS 클라우드 서버 내 Jenkins 서버 설치에 대해서 이전에 제가 작성했던 글도 있는데요. 허접하지만 이거 참고하셔도 좋습니다. (https://beaniejoy.tistor..