이전 글 [AWS(EC2) + Jenkins + Docker + Ansible] AWS EC2에 Jenkins 서버 설치하기이전 글2024.05.30 - [Deploy] - [AWS(EC2) + Jenkins + Docker + Ansible] EC2 인스턴스 생성, EC2에 Java 설치, AMI 생성과 AMI로 EC2 인스턴스 생성, ping 테스트, 보안그룹 설정 이번에는 jenkins-server 에 jenkins를 설치하coding-orange.tistory.com 이전 글에 이어서 이번에는 cicd-project-docker EC2에 docker 를 설치해보자. 0. EC2 접속cicd-project-docker EC2에 접속하자. 접속하는 사용자 이름은 ec2-user 로 한다. ..
전체 글
배움을 기록합니다.이번에는 jenkins-server 에 jenkins를 설치하기 전에 필요한 것들을 설치한 후 jenkins 설치와 기본 설정까지 해보자. 0. EC2 접속이전 글에서 만든 jenkins-server로 접속하자. EC2 서버에서 cicd-project-jenkins를 클릭해 연결을 한다. 이 때 접속하는 사용자 이름은 항상 ec2-user로 한다. 다른 인스턴스들도 마찬가지로 해야함을 명심하자! 1. EC2에 amazon linux 확장 패키지 설치하기아래 명령어로 확장 패키지를 설치한다.sudo amazon-linux-extras install epel -y 2. maven 설치하기maven 설치는 opt 폴더에서 진행하자.cd /opt maven 3.8.6 버전을 다운받으려고 ..
Jenkins, Docker, Ansible를 이용하여 AWS로 배포를 해보자. 최종적으로는 AWS EC2 인스턴스 3개로 배포하게 될 것이다. 각 인스턴스를 jenkins-server, docker-server, ansible-server 라고 하자. jenkins-server로 사용될 EC2 를 하나 생성하고 해당 EC2에 Java를 설치한 후 해당 서버를 AMI로 만들 것이다. Java가 설치된 AMI로 EC2 서버를 추가로 생성할 것이다. 1. AWS EC2 인스턴스 생성먼저 AWS로 접속하여 리전이 서울인지 확인한 후에 EC2 탭으로 들어간다. 인스턴스 생성을 위해 인스턴스 시작을 클릭한다. 다음과 같이 설정한 후 인스턴스를 시작한다.인스턴스 이름 : cicd-project-ec2 (추후..
·TIL
hELLO 스킨을 적용한 후 PC에서 보면 이미지가 본문 영역을 벗어나는 것을 확인했다.이를 해결하고자 스킨 편집에서 아래와 같이 (기존에 있던 코드는 삭제하고) max-width, margin-left, margin-right 부분을 추가했다. 적용 완료 후에도 동일하게 떠서 확인해 봤더니 글 작성 시 세 번째가 아니라 첫 번째(본문 폭 맞춤) 으로 해줘야 하는 것이였다. 기존 이미지들은 모두 세 번째 (가운데 정렬)로 되어 있었다.첫 첫째(본문 폭 맞춤)으로 설정해주니 아래와 같이 이미지가 콘텐츠 영역 밖으로 나가지 않았다. + 다른 이미지들은 모두 다 세 번째로 되어있는데 다 바꾸기에는 힘들 것 같다.. 이제부터라도 잘 적용하기..
·TIL
하고자 하는 동작은 테이블이 있다면 해당 테이블의 모든 데이터를 삭제하는 것이다.아래와 같이 코틀린으로 테스트 코드를 작성했다.private fun resetDatabase() { val tables = jdbcTemplate.queryForList("SHOW TABLES", String::class.java) tables.forEach { table -> jdbcTemplate.execute("TRUNCATE TABLE $table") }} 아래와 같은 오류가 발생했다. 구글링을 해보니 테이블 간 연관관계가 맺어져 있어서 오류가 나는 것이였다. 내 프로젝트에서 연관관계는 다음과 같이 작성되어 있다.Member 와 Note : 일대다Member 와 Quiz : 일대다Not..
·TIL
코틀린으로 만들어진 스프링부트 프로젝트에서 jacoco를 추가하는 방법을 알아보자. 1. JaCoCo란?JaCoCo(Java Code Coverage)는 자바 프로그램의 코드 커버리지를 측정하기 위한 오픈 소스 도구이다. 코드 커버리지는 테스트가 코드의 몇 퍼센트를 실행하는지를 측정하는 지표이다. JaCoco로 다음과 같은 작업을 수행할 수 있다. 코드 커버리지 분석JaCoCo는 어떤 코드가 테스트되었는지, 어떤 코드가 테스트되지 않았는지를 보여준다. 이를 통해 테스트가 부족한 부분을 찾아낼 수 있다. 리포트 생성JaCoCo는 HTML, XML, CSV 등 다양한 형식의 리포트를 생성하여 커버리지 결과를 시각적으로 제공한다. CI/CD 통합JaCoCo는 Jenkins, GitLab CI/CD 등 다양..
문제 풀이 핵심은 이분 탐색을 이용하여 푼다는 것이다. 찾고자 하는 수 중 가장 앞의 인덱스를 찾아야 하므로 기존 이분 탐색 로직에 아래 코드를 추가한다.if (arr[mid] == x) { answer = mid; // x를 찾았다면 위치를 업데이트 rt = mid - 1; // 더 왼쪽에 같은 값이 존재하는지 확인하기 위해 오른쪽 경계 줄이기} 코드package baekjoon._20551;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import..
설명 풀이 결정 알고리즘이란 이분 검색을 이용하는 것이다. lt와 rt 사이에 반드시 답이 있다고 보장할 수 있는 문제에만 적용이 가능하다. 답으로서 가능한지 범위를 좁혀 나가면서 최종적으로 답을 결정한다. 좋은 답을 향해 좁혀 나가는 알고리즘이다. solution 함수 로직은 다음과 같다.정답이 될 변수 answer를 0으로 초기화 한다.lt는 배열의 최댓값이고, rt는 배열의 합이다.배열의 최댓값은 Arrays.stream(arr).max().getAsInt() 로 구한다.배열의 합은 Arrays.stream(arr).sum() 으로 구한다.이분 탐색을 수행한다. lt가 rt보다 작거나 같을 때 반복한다. while (lt 여기서 mid 변수는 DVD 한 장의 용량을 의미한다. mid 변수..