전체 글

개발자꿈나무입니다
개인프로젝트

Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 5

돌고 돌아 (일주일을) CI/CD 자동화 구축에 성공했다😭리눅스 마스터를 따고 잊었던 리눅스 명령어들이 많이 되살아났다 ㅋㅋ

개인프로젝트

Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 4

권한문제 에러를 한번 맞닥뜨리고 파워쉘로 EC2인스턴스 접속했다.이제 CodeDeploy를 생성하려고한다.✔️CodeDeploy 생성CodeDeploy Agent를 설치했다. 잠깐, apt가 뭐지?더보기apt는 리눅스 운영체제에서 패키지 관리를 위해 사용하는 도구이다.📌apt (Advanced Package Tool)사용 배포판: 주로 Debian, Ubuntu 및 그 파생 배포판들기본 명령어:apt-get: 고전적인 apt 도구로, 설치, 업데이트, 제거 등에 사용apt: apt-get의 기능을 포함하면서, 더 직관적이고 사용자 친화적인 인터페이스를 제공기능:패키지 설치: sudo apt install package_name패키지 제거: sudo apt remove package_name패키지 업데이..

개인프로젝트

Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 3

배포 플로우이다.Github Actions에서 프로젝트 빌드 후, jar 파일을 압축해서 S3에 업로드한다.이어서 CodeDeploy에게 S3에 있는 jar 파일을 가지고 배포를 진행해달라고 전달한다.CodeDeploy는 배포할 EC2 인스턴스 내부에 있는 CodeDeploy Agent에게 배포 명령을 내리고, Agent는 jar 파일을 S3에서 받아서 주어진 스크립트에 따라 배포를 진행한다.따라서 이번 세번째 포스팅  내용은! 포스팅이 너무 길어져서 이번 포스팅은 1번만 기록했다.나머지 2,3은 다음 포스팅으로 넘어가려고 한다 ㅠㅠ✔️1. S3에 빌드한 JAR 업로드1-1. actions탭에서 workflow설정 (1,2편 포스팅 참고 https://java-girl.tistory.com/106)1-2..

개인프로젝트

Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 2

✔️지금까지 작성한 yml파일name: Build and Deploy to EC2on: push: branches: [ main ] pull_request: branches: [ main ]jobs: build: runs-on: ubuntu-latest # 3 실행 환경 지정 steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: 'adopt' java-version: '17' - name: Make application.properties run: | cd ./sr..

개인프로젝트

Gitghub Actions로 CI/CD 파이프라인 구축하기 大 삽질일기 - 1

CI구축도 CD적용도 처음이라서 조금 떨린다. 개인프로젝트이기 때문에 굳이 자동화 적용까지 해야하나 싶지만, 한번 해보고 싶은 생각이 들었다. 개념으로만 알고있는 것과 실제로 경험해보고 적용하는 것은 엄청난 차이가 있기 때문이다. CI로는 Github Actions를 사용하고 CD에는 AWS CodeDeploy 사용하기로 했다!** 참고블로그 GitHub Actions, AWS CodeDeploy 를 활용한 CI/CD 적용 (velog.io)Github Actions로 CI/CD 구축하기 #1 (EC2, S3 생성 및 설정) — 기억의 정류장 (tistory.com) 💡CI/CD 플로우 💡 구축 환경AWS EC2(Ubuntu)RDS(Postgresql)S3Spring Boot 3.1.11 / Java..

Server/AWS

도메인 연결하기(Route53)

스프링부트 서버를 EC2에 배포해 보았었다. 하지만 IP주소가 아닌 사람들이 기억하기 쉬운, 도메인 주소로 바꾸는 작업도 해보고자 한다! 문자를 IP주소로 변환해주는 하나의 시스템(=서버)가 바로 DNS이다. Domain Name System이다. 프론트 웹페이지나 벡엔드 서버는 일반적으로 IP기반으로 통신하지 않고 도메인기반으로 통신한다. 그 이유는 HTTPS를 적용해야하기 때문이다. 즉 IP주소에는 HTTPS를 적용할수가 없고, 도메인주소가 있야 HTTPS를 적용할 수 있다는 것이다. 때문에 특정 서비스를 운영할때 도메인은 필수적으로 사용하게 된다. AWS의 DNS 서비스에는 Route53 이 있으나 이 외에도 DNS서비스들이 존재한다. 서로 제공하는 도메인이 종류가 다르다. Route53을 활용해서..

Server/AWS

Spring Boot 서버 API를 EC2 배포해보기

AWS EC2 인스턴스를 생성하고 완성할 프로젝트를 실제 배포해보기 전에 테스트로 연습해보고 싶었다. Ubuntu OS환경을 선택하고 배포해보기로 했다. 탄력적ip를 생성한 후 작업했다. 1. 스프링부트 3.x.x대 , jdk17버전으로 환경을 먼저 설치한다. $ sudo apt update && / sudo apt install openjdk-17-jdk -y 2. 설치가 되었는지 확인하기 $ java -version 설치가 잘 되었다면 위와같은 코드가 나온다. 3. 깃허브에서 스프링부트 프로젝트를 clone 한다. $ git clone https://github.com/ec2-test.git $ cd ec2-test 4. application.yml 파일을 EC2에 만든다. application.ym..

카테고리 없음

5

55

자바걸
코생아 삽질일기