본문 바로가기

전체 글

(177)
[230720] [미니] 모여봐요 인생네컷 Jenkins Git Submodule Clone 문제 Jenkins에서 Git Clone시 Submodule이 같이 Clone이 안 되는 문제 ✔ 원인 💢 Submodule 설정 이후 Jenkins에서 자동 빌드 & 배포를 했다. 그런데 application.properties가 없어서 정상적으로 애플리케이션이 서버에서 실행이 되지 않았다. 문제는 Jenkins에서 Git Repository Clone 할 때 Submodule Repository를 가져오지 않아 application.properties 파일이 누락된 것이었다. ✔ 원인이 되는 Jenkinsfile Script stage('Prepare') { steps { echo 'Clonning Repository' git url: 'git@github.com:mini-project-evey-team..
[230719] [미니] 모여봐요 인생네컷 Git에서 application. properties 보안 이유 💬 Jenkins에서 자동 빌드 및 배포를 위해서 Git Repository에 Application.properties 파일이 포함되어야 했다. 그런데 DB, S3 등 중요한 정보가 담겨 있어서 문제가 되었다. 이걸 해결하기 위해 별도 Private Repository를 만들어 배포 코드 Repository의 Submodule로 사용하기로 했다. Submodule 적용하기 ✔ 진행 1. Private Git Repository 생성 2. Application Repository에서 submodule 추가 ➡ git submodule add https://github.com/mini-project-evey-team/four-cuts-backend-security.git 3. application.pr..
[230718] [미니] 모여봐요 인생네컷 HTTPS 설정 HTTPS 설정 ✔ AWS 설정 1. Route 53 -> 호스팅 영역 -> 호스팅 영역 생성 2. 호스팅 영역 설정 및 생성 도메인 이름 : 구입한/할 도메인 이름 설명 : 필요시 입력 나머지 : Default 3. Route 53 -> 호스팅 영역 -> 생성한 호스트 세부 정보 -> 레코드 생성 4. 레코드 생성 설정 및 생성 값 : EC2 Public IP 나머지 : Default 5. 유형 NS 값/트래픽 라우팅 대상 복사 ✔ 가비아 설정 1. 도메인 구매 2. My 가비아 -> 도메인 -> 관리 -> 네임서버 설정 3. AWS에서 복사한 NS 값/트래픽 라우팅 차례대로 입력 ✔ 서버 설정 1. certbot 설치 ➡ sudo snap install --classic certbot 2. certb..
[230717] [미니] 모여봐요 인생네컷 CI/CD 구성 (3) Git Web Hook 설정 💬 Git Repositroy에 이벤트가 발생 시 Jenkins으로 메시지를 보내기 위해 설정 1.Git Webhooks 설정 페이지로 이동 Git Repository Of Application -> Settings -> Code and automation -> Webhooks -> Add webhook 2.Git Webhooks 설정 Payload URL: https://Jenkins domain:Jenkins port/github-webhook/ Content Type : application/json Which events... this webhook? : Just the push event select Active Check 3.Git Webhooks 생성 Spri..
[230716] [미니] 모여봐요 인생네컷 CI/CD 구성 (2) Jenkins 환경 구성 ✔ Docker 설치 💬 Docker Image를 통해 Jenkins을 설치 및 실행하기 위해 진행 1.Docker 설치 sudo apt-get update sudo wget -qO- https://get.docker.com/ | sh 2.Docker 그룹에 현재 계정 추가 sudo usermod -aG docker ${USER} sudo systemctl restart docker ✔ Jenkins 설치 💬 Jenkins과 Java 17이 설치된 환경 이미지를 내려받고 실행. 추가적으로 서버와 가상서버의 포트 및 저장공간을 연결. 1.Java 17 환경을 가진 Jenkins 이미지 내려받기 docker pull jenkins/jenkins:lts-jdk17 2.Jenkins 이..
[ 230716 ] 31주차 회고 일주일 간 진행한 내용 1. 다른 페어와 코드 리뷰 2. 미니 프로젝트 진행 다른 페어와 코드 리뷰 [진행] 화요일 쯤에 과제 3을 제출했다. 제출하고 코드 리뷰 페어가 정해져서 목요일에 코드 리뷰 시간을 가졌다. 30분 정도 서로의 코드를 보는 시간을 가졌다. 그 후 이슈를 생성해서 좋았던 점과 피드백 할 점을 작성했다. 우리 쪽에는 이번에 댓글 기능을 추가했는데 Controller 분리를 해보는 것이 어떠한지 등에 대한 질문이 들어왔다. 이러한 질문들에 답을 하는 시간을 가졌다. [생각] 코드를 발전시키기 위해서 코드 리뷰 하는 시간을 가지는 것은 너무 좋다. 그다른 분들의 의견을 들으면서 내가 잘못 알고 있거나 작성한 코드에 대해서도 알 수 있다. 이러한 시간들을 통해 성장할 수 있기 때문에 중간 ..
[230715] [미니] 모여봐요 인생네컷 CI/CD 구성 (1) CI/CD ✔ 용어 정리 📕 CI/CD는 애플리케이션의 개발 단계를 자동화하여 짧은 주기로 사용자에게 제공하는 방법이다. 📄 CI(Continuous Integration)는 프로젝트를 할 때 "각각의 작업을 어떻게 잘 통합할 수 있는가?"이다. 📌 방법은 빌드 자동화 및 각 작업을 공유 브랜치에 수월하게 병합할 수 있게 하는 테스트 자동화 등이 있다. 📄 CD(Continuous Deliver)는 빌드된 애플리케이션 코드를 배포를 위한 저장소에 저장하는 것이다. 📄 CD(Continous Deployment)는 빌드된 애플리케이션 코드를 배포 자동화 하는 것이다. 📌 Continous Deliver와 Continous Deployment 두 용어는 자동화가 어느 정도까지 되었는가에 따라 사용이 된다. ..
[230714] [미니] 모여봐요 인생네컷 S.A 목표 ✔ 메인, 인생네컷 작성, 인생네컷 목록, 인생네컷 상세 화면 구성 ✔ CR(U)D API 작업 ✔ 자동 배포를 위해 CI/CD 작업 와이어 프레임 API 명세 페이지 기능 method API url request response 구현 하는 사람 메인 인생네컷 메인 사진 조회 GET /api/photos/main { photo:링크 } 정지현 인생네컷 글 목록 인생네컷 게시글 목록 조회 GET /api/post {[ username: 사용자 이름, title: 제목, content: 내용, createdAt:작성날짜, photo:링크], [ username: 사용자 이름, title: 제목, content: 내용, createdAt:작성날짜, photo:링크] …} 이채원 인생네컷 글 상세 인생네..