Dev 17

Jenkins | CI/CD Pipeline 구축 - 04. Git에서 코드 가져와서 빌드하기

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) 신규 Item 생성 Maven project 템플릿으로 프로젝트를 만든다. 소스 코드 관리 탭에서 git을 선택해주고, maven 소스 코드가 들어가 있는 github repository 주소를 입력해준다. Pres Steps 탭에서 Goals and options 항목에 clean(빌드된 내용을 지우고) compile(새롭게 컴파일을 하고) package(패키징한다.)을 입력해준다. 위까지 완료되었다면 Apply → Save를 진행 저장 후 지금 빌드를..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 03. Git, Maven Plugin 셋팅

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Git Plugin 세팅 github 플러그인이 설치되어 있는지 확인해본다. ~ > docker exec -it jenkins-server bash 19:01:18 jenkins@3bec5363e25f:/$ git --version git version 2.30.2 git --version 으로 jenkins 컨테이너 환경에 설치되어 있는지 확인이 가능하다. 위와 같이 세팅 후 Apply → Save 하면 사용하려는 jenkins에 git pulgin 확..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 02. Item(Project) 생성

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Item(Project) 생성 좌측 탭에 새로운 Item 탭을 눌러 프로젝트를 생성한다. 여러가지 템플릿 중 현 단계에서는 Freestyle project로 생성할 것이다. 이 아이템을 실행 가게 되면 특정 스크립트가 실행되게 하는 Excute shell을 선택한다. 간단한 실행 스크립트를 적어주고, 저장한다. 지금 빌드를 클릭하면 빌드 결과를 하단에서 성공, 실패, 진행 중으로 알려준다. 결과의 Console Output을 통해, 결과 내용을 알 수 있..

Dev/Infra | Cloud 2022.09.27

Jenkins | CI/CD Pipeline 구축 - 01. Jenkins 설치 및 설정

본 글은 Docker를 기반으로 Jenkins의 기본적인 사용방법을 공부하고 추후 작업 시 중복되는 작업비용을 줄이기 위한 참고 및 정리 글이라서, 몇몇 배경 내용이 빠져있을 수 있는 점 참고 부탁드립니다. 🙋‍♂️ (피드백은 언제든지 환영합니다. 🤩) Jekins 설치 https://hub.docker.com/r/jenkins/jenkins Jenkins docker hub를 통해 설치한다. ~ > docker pull jenkins/jenkins 20:20:10 Using default tag: latest latest: Pulling from jenkins/jenkins ... Status: Downloaded newer image for jenkins/jenkins:latest docker.io/..

Dev/Infra | Cloud 2022.09.27

Entity에서는 변경이 되었는데 DB에는 적용이 안되는 경우

해당 글은 경험했던 트러블 슈팅 내용을 정리하기 위한 글입니다. 어떤 피드백이든 환영이에요! 😍 상황 - 크루 장인 Member가 Crew를 제거했을 때, Member의 Crew관련 권한을 제거해주고자 하는데, Entity에서는 변경이 되는 것 같지만 DB에는 적용이 안되고 있다. DB에 적용시켜야 한다. //Crew장의 권한 제거 메서드 public void removeCaptainAuthority() { this.crewInfo = new CrewInfo(false, null); } 1차시도 - memberRepository.save()를 통해 JPA의 쿼리를 날려보면 어떨까? → 참조 무결성 제약 조건을 위반 (Referential integrity constraint violation) 발생!! ..

Dev/Java | Spring 2022.09.21

연관관계 맵핑되어 있는 객체 삭제 시, 에러가 발생하는 경우

해당 글은 경험했던 트러블 슈팅 내용을 정리하기 위한 글입니다. 어떤 피드백이든 환영이에요! 😍 상황 - 회원 삭제 API 구현 후, Postman으로 호출을 해보니 아래와 같이 DataIntegrityViolationException 에러가 발생하였다. 원인 MemberService 클래스 @Transactional public void deleteCrew(Long crewId, CrewDeleteRequest crewRequest) { Member member = validMemberIsExist(crewRequest.getMemberId()); validCaptainAuthority(crewId, member, member.getCrew().getId()); Crew crew = validIsCre..

Dev/Java | Spring 2022.09.20

Discord에 Github 봇 추가하기(feat.WebHook)

이 글을 작성하는 이유 현재 개발 중인 사이드 프로젝트의 커뮤니케이션 공간을 Discord로 활용하고 있는데, 앞으로 서로 Push/PR을 하거나 Issue 등록을 할 때 매번 서로에게 DM으로 말해주는 게 번거로울 것 같아 알림봇을 적용하기로 했다. 이 글은 적용하는 과정을 기록하기 위함이다. 1. Github Notify만 관리할 채널을 만든다. (만약, 별도로 관리할 필요가 없다면 생략하고 2번으로 넘어간다.) 2. Bot을 적용할 채널의 편집 기능 -> 연동 -> WebHook을 클릭한다. 3. 새 WebHook을 만들고, WebHook URL을 복사한다. (해당 URL은 Github 연동에 필요한 URL임을 기억하자) 4. Github Repo의 Settings -> Webhooks -> Ad..

Dev/Git | Vim 2022.08.10