반응형

전체 글 614

git 저장소 병합

프런트엔드와 백엔드를 따로 저장소 파서 개발하다가 한 저장소에 합쳐서 개발해야 할 일이 생겼다. git remote add {기존 저장소명} {저장소 주소} git fetch {기존 저장소명} git merge --allow-unrelated-histories {기존 저장소명}/{기존 저장소 브랜치명} git remote remove {기존 저장소명} 병합 받을 새 저장소에서 위 명령어를 실행한다. 기존 저장소명 = 병합하고 싶은 저장소다. --allow-unrelated-histories를 줘야 커밋 이력이 달라도 merge를 할 수 있다. 기존 저장소 브랜치명은 보통 master와 같은 기본 브랜치를 적겠지만, feat 브랜치와 같이 병합하고 싶은 브랜치명을 적어주면 된다. 병합이 끝나면 병합 하기 ..

git 2024.01.15

[Error] Unable to access jarfile home/ubuntu/{jar파일명}.jar

sudo docker run -it -p 8080:8080 --name trendgaza_back openjdk:8-alpine java -jar home/ubuntu/{jar 파일명}.jar --spring.profiles.active=prod openjdk:8-alpine 이미지를 이용해서 trendgaza_back 이름으로 컨테이너를 생성해서 실행하려고 했다. jarfile에 접근할 수 없다는 에러(Unable to access jarfile home/ubuntu/{jar파일명}.jar)가 떴다. 해결 sudo docker run -it -p 8080:8080 --name trendgaza_back -v /home/ubuntu:/home/ubuntu openjdk:8-alpine java -jar ..

DevOps/Docker 2024.01.07

cron을 이용한 스케줄링

cron을 언제 사용하면 좋을까? 자동 백업 ex) 매일 특정 시각에 mysqldump로 백업을 한다면, 쉘 스크립트를 실행하도록 해서 자동 백업을 한다. cron 표현식 각 필드는 공백으로 구분된다. 필드 값 와일드카드 분 0 ~ 59 ,-*/ 시간 0 ~ 23 ,-*/ 일 1 ~ 31 ,-*?/LW 월 1 - 12 또는 JAN - DEC ,-*/ Day of week 1 - 7 또는 SUN - SAT ,-*?L# 연도 1970 ~ 2199 ,-*/ crontab 설정 형식 #은 주석 처리 할때 사용 필드에 *를 사용하면, 해당 필드의 모든 시간에 실행한다. 분에 *가 있으면, 매 분마다 실행 시간에 *가 있으면, 매 시간마다 실행 ,를 사용하면 여러 시간과 날짜를 지정 특정 기간을 지정할 때 -를 사..

Linux 2023.12.29

Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.7.

에러 로그 스프링 부트 3점대를 사용하려고 OpenJDK 17도 설치했는데 build 할때 위와 같은 로그가 뜨면서 잘 안 된다. 해결 Build and run using, Run tests using을 'IntelliJ IDEA'로 변경하면 속도가 더 빠르다. JVM을 설치한 17 버전으로 변경해준다. 참고 👇👇👇 https://jojoldu.tistory.com/698 Spring Boot 3.x 실행이 안될 경우 (feat. IntelliJ) 스프링 부트 3.0 이 출시되었다. (현재 최신은 3.0.1 이지만) 3.0 부터는 Java 17부터 지원된다. 그러다보니 기존에 Java8, 11등을 사용하시던 분들은 3.x 스프링 부트 프로젝트를 실행할때 에러들을 만나 jojoldu.tistory.com

IDE/Intellij 2023.12.28

HttpURLConnection | RestTemplate | WebClient

개발 환경: OpenJDK 17, Spring Boot 3.1.7 사용한 API: https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide#search-book HttpURLConnection public abstract class HttpURLConnection extends URLConnection JDK 1.1부터 내장하고 있는 클래스다. 각 HttpURLConnection 객체는 단일 요청을 만드는데 사용된다. 하지만, 네트워크 연결에 따라서 HTTP 서버는 공개적으로 다른 인스턴스로부터 공유될 수 있다. 요청이 끊어진 후 InputStream 또는 OutputStream에서 close() 메서드 호출하는 것은 어떠한 공유된 영구적인 연..

JAVA 2023.12.28

Mysql Event Scheduler

Scheduler는통계와 같은 Batch 작업, 순위 데이터처럼 DB에 과부하가 많이 걸리는 작업 또는 정기 데이터 백업과 같은 정기적으로 수행되어야하는 작업에 주로 사용한다. Event Scheduler 사용 여부 확인 SHOW VARIABLES LIKE 'event%'; Value가 OFF라면, SET GLOBAL event_scheduler=ON;으로 변경할 수 있다. 저장된 Event Scheduler가 있는지 확인 SHOW EVENTS; SELECT * FROM information_schema.EVENTS; Event Scheduler 작성예시 DROP EVENT IF EXISTS delete_event; CREATE EVENT delete_event ON SCHEDULE AT CURRENT_..

DB/MySQL 2023.12.28

스크립트 실행 에러 해결하기

CodeDeploy의 상태는 성공인데 프런트엔드의 최신 커밋 내용이 반영되지 않는 문제가 있었다. ✨ 해결 과정 cd /opt/codedeploy-agent/deployment-root.deployment-logs/ cat codedeploy-agent-deployments.log 스크립트를 실행하던 중에 어느 부분에 문제가 생겼는지 확인하기 위해 codedeploy-agent-deployments.log에서 로그를 확인한다. 그랬더니 이런 로그가 보인다. 권한 문제다. #!/bin/bash REPOSITORY=/home/ubuntu/trendgaza_fe cd $REPOSITORY DIST_PATH=$REPOSITORY/dist echo "> $DIST_PATH 에 쓰기 권한 추가" chmod +w $..

AWS 2023.12.19

AWS CodeDeploy 생성

CodeDeploy는 애플리케이션 배포를 자동화하는 배포 서비스다. 나는 Amazon EC2 인스턴스에 CodeDeploy를 이용해서 배포를 자동화하였다. 1. 어플리케이션 생성을 클릭한다. 2. 애플리케이션을 생성한다. 컴퓨팅 플랫폼에는 EC2/온프레미스, AWS Lambda, Amazon ECS가 있다. 3. 애플리케이션 생성을 했다면, IAM에서 역할을 생성한다. CodeDeploy, EC2 각각에 역할을 생성한다. 🟢 CodeDeploy에 역할 부여 🟣 EC2에 역할 부여 EC2에 AmazonEC2RoleforAWSCodeDeploy 역할을 부여한다. 👆 생성한 IAM 역할을 EC2에 부여한다. 4. EC2에 태그 설정 EC2를 선택한다. > 작업 > 인스턴스 설정 > 태그 관리에 들어간다. 키 ..

AWS 2023.12.08
반응형