전체 글

AWS Data Transfer APN2-USE1-AWS-In-Bytes$0.00 per GB - Asia Pacific (Seoul) data transfer from US East (Northern Virginia)AWS Data Transfer APN2-USE1-AWS-Out-Bytes$0.080 per GB - Asia Pacific (Seoul) data transfer to US East (Northern Virginia) 사건 CI/CD 구축을 완료했는데, 구축 과정에서 원인을 알 수 없는 서울과 버지니아 북부간의 data transfer 요금이 발생했다. 1000원 미만의 아주 작은 소액이었지만 어느새 하루이틀 지나니 1000원을 넘기면서 누적되는 가격에 추후 실제 배포 때는 몇만원까지도 ..
가장 최근 커밋 삭제git reset HEAD^git push -f   최초 커밋까지 전부 삭제 방법 1먼저, 가장 최근 커밋 삭제 방법을 통해 최초 커밋 외의 모든 커밋들을 삭제해준다.1. 로컬 리포지토리에서 HEAD 삭제git update-ref -d HEAD2. 스테이징된 모든 파일 삭제 (마지막에 띄어쓰기 안 붙게 조심)git rm --cached -r .3. 모든 파일을 다시 추가하고 새로운 초기 커밋 커밋 만들기git add .git commit -m "Initial commit"4. 새로운 초기 커밋을 원격 저장소에 강제 푸시git push -f origin main 최초 커밋까지 전부 삭제 방법 21. 로컬에 클론 해온다.2. 현재 브랜치 확인 및 체크아웃git checkout main3..
- 이 글 목표 : ec2 인스턴스 젠킨스서버에 docker 설치, docker를 통해 jenkins 설치, jenkins pipeline을 통해 github webhook 설정, docker hub 자동 push,pull 하기 + 성공/실패시마다 slack 자동 알림 설정 - 다음 글 목표 : ec2 인스턴스 스프링부트 서버에 NGINX 설치 및 blue/green 무중단 배포 구현 (젠킨스 파이프라인 이어서)  1. 구성요소Jenkins Server : AWS EC2 Ubuntu ⇒ 이 글에선 편의상 A 서버라고 칭한다.Spring Boot Server : AWS EC2 Ubuntu ⇒ 이 글에선 편의상 B 서버라고 칭한다.Github RepositoryDocker Hub Repository도커파일 ..
아주 기본적인 체크 사항 ... 1. ec2 인스턴스 정상적으로 실행 중인지 확인2. 보안 그룹 설정 확인 (SSH 접속 허용)3. SSH 서비스가 정상적으로 포트 22에서 작동하고 있는지 확인, 방화벽 설정이나 라우터 설정에서 포트 22가 차단되지 않았는지 확인4. 인스턴스의 퍼블릭 IP 주소가 최신 IP 주소가 맞는지 확인등... 위 사항 모두 정상일 수 밖에 없는 게, 아까는 정말 잘 됐었고 갑자기 장소를 바꾸면서 접속이 안 됐다.혹시 하고 생각해보니 내가 속한 이 장소의 와이파이 때문이었다.SK 인터넷은 자체적으로 ssh 와 연결되는 22번 포트를 막아두었다고 한다. 그래서 연결이 안 되었다.구글링 해보니까 22번 포트를 우회해서 사용하거나 고객센터에 전화하거나 .... 인 것 같은데일단은 그냥 ..
이 글은 ec2 인스턴스 생성 후 그 위에 docker를 설치한 상태라고 가정한다.만약 설치가 되어있지 않았을 경우, ec2 인스턴스 생성부터 docker 설치까지 이 글( https://h-it.tistory.com/15#%EB%8F%84%EC%BB%A4%EB%A5%BC%20%ED%99%9C%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%A0%A0%ED%82%A8%EC%8A%A4%20%EC%84%A4%EC%B9%98-1 )을 참고하면 된다. 딱 젠킨스 설치 직전(19번)까지만 따라해주면 된다.    도커를 활용하여 Nginx 설치1. 인스턴스 연결 후 도커 실행 (이미 인스턴스 연결 및 도커 실행 중인 경우 제외)sudo systemctl start docker 2. Nginx 이미지 다운..
이 게시물은, 여러 게시물들과 유튜브를 참고하여 전체 과정을 정리한 글입니다.출처 링크는 맨 아래에 첨부하였습니다. EC2 인스턴스 생성 → EC2 인스턴스에 docker 설치 → docker를 활용하여 Jenkins 설치 과정을 담았습니다.저는 Mac m2 를 사용하고 있습니다.IAM 계정만 만들어두면(권한 부여 필요 - ec2FullAccess 등), 아래 모든 과정을 순서대로 진행하기만 하면 됩니다.  start! EC2 인스턴스 생성 및 연결1. aws 접속 후 ec2 들어가기 2. 인스턴스 시작(생성) 3. 인스턴스 이름 적기 4. 우분투 선택 (필요에 따라 다른 옵션 선택 가능) 5. 목적에 맞게 원하는 인스턴스 유형 선택 6. 키페어 생성 (기존 키페어 사용을 원한다면 기존 키페어를 선택해도..
나는 단축키를 정말 정말 많이 사용하는데, 사용하면서 여러 가지 불편한 점들이 존재했다.내가 자주 사용하는 단축키는 조금 더 쉬운 조합으로 만들고 싶었고, (ex. shift + command + 4 스크린샷)아예 쓰지 않는 단축키는 없애버리고 싶었다. (ex. command + m 윈도우 창 최소화)설정을 이것저것 찾아보니 방법이 있었다 !!!!! 호호삭제, 추가, 변경 작업이 크게 다르지 않으니, 모두 아래의 단계를 차례대로 따라주면 된다.  1. command + space를 눌러 '키보드'를 검색해주어 키보드 설정으로 들어간다. 2. '키보드 단축키'를 선택해준다. 3-1. 여기서 내가 삭제, 변경하고 싶은 단축키를 찾는다. (왼쪽 메뉴를 선택해가며 찾으면 된다.)   오른쪽 단축키가 쓰여져 있는..
오류 상황 해결방법 1단계 : build.gradle에서 edit Starters.. 를 활용하여 mysql driver을 설치 해결방법 2단계 : 그래도 안 되면 의존성 코드를 직접 확인해준다. (스프링부트2와 3에 따라 코드가 다르다.) dependencies { runtimeOnly 'com.mysql:mysql-connector-j' //스프링부트3 } dependencies { runtimeOnly 'mysql:mysql-connector-java' //스프링부트2 } 해결방법 3단계 : 캐시 다시 로드. 의존성 코드를 계속 건드렸었는데 이거 때문인지, driver-class-name은 해결됐으나, gradle 빌드하는데 빨간줄이 떴다. 캐시를 다시 로드해주었더니 해결됐다. 참고 : https:..
상황 rm명령어를 쓰다가 뭔가를 잘못 지운 것 같다. gcc 명령어를 실행하려고 하면 No such file or directory compilation terminated. 가 뜬다. gcc --version하면 정상적으로 뜨지만 gcc 파일명.c로 컴파일 하려고 했더니 오류가 떴다. ls, rm 등 기본적인 명령어는 잘 된다. 해결 시도 1. 루트권한으로 해보기 => 안 됨. 실패 2. sudo apt-get update (패키지 리스트 업데이트) sudo apt-get install --reinstall build-essential (build-essential 패키지 재설치, gcc와 g++포함) => 해결되는 듯 보였으나 실패 3. sudo apt-get upgrade sudo apt-get d..
스프링 부트 스타터 사이트를 통해 스프링 프로젝트를 생성할 수 있다.https://start.spring.io  1. 기본 선택Projectgradle-groovy 선택요즘은 Maven보다는 Gradle로 프로젝트를 함languagejavaspring boot 버전맨 앞 숫자가 3이면 자바 17 사용맨 앞 숫자가 2이면 자바 11사용뒤에 ()가 있는 것들은 정식 출시가 되지 않았거나 아직 만들고 있는 중이라는 의미이므로 선택 XProject MetadataGroup : 프로젝트 그룹 (보통 기업이나 도메인 이름)Artifact : 최종 결과물 이름Name : 프로젝트 이름Description : 프로젝트 설명Package name : 패키지 이름Packaging => spring boot는 톰캣이 내장되..
e_jeong
공부기록용