마지막으로 CodeDeploy를 사용하여 s3에 있는 zip 파일을 ec2인스턴스에 이관하고 쉘 스크립트 파일을 생성하고 배포 자동화를 하는 법에 대해서 포스팅을 해보도록하자 -> 이전포스팅 1. start.sh 스크립트 파일 추가 프로젝트의 루트 경로에 scrpits 파일을 생성하고 start.sh 쉘 스크립트 파일을 생성하여 아래의 코드를 추가한다 #!/usr/bin/env bash REPOSITORY=/home/ec2-user/app/deploy PROJECT_NAME=AZ-Server echo "> Build 파일 복사" cp $REPOSITORY/*.jar $REPOSITORY/zip echo "> 구동중인 애플리케이션 pid가 있다면 죽입니다" fuser -k -n tcp 8080 echo "..
이전 시간에 프로젝트에 github action을 연동하여 push를 감지했을 경우 자동 빌드가 되도록하는 step까지 구현하였다 이번에는 ec2인스턴스를 생성하고 java 설치 s3 버킷 생성 사용자 생성 yml 파일 수정 - workflow 추가 이전 포스팅 - https://0zii.tistory.com/14?category=919071 먼저 ec2 인스턴스를 생성한다 인스턴스 생성에 대해서는 해당 포스팅 내용을 확인하면 된다 인스턴스 생성 후 터미널 접속 방법 포스팅 - https://0zii.tistory.com/2?category=900134 JAVA 설치 1. 인스턴스 생성 후 터미널로 인스턴스에 접근하여 java 버전을 확인해준다 $ java -version 2. ec2 인스턴스에는 기본적..
이번 동아리 프로젝트에서 배포와 ci/cd 연동을 내가 하기로 하였는데 고민끝에 배포환경은 aws 프리티어와 ci/cd 구축은 github action을 사용하기로 하였다. 이번 프로젝트를 배포하며 배포 과정 그리고 ci/cd의 개념에 대하여 알게되는 좋은 계기가 되었다. 물론 ec2 인스턴스를 한 네번정도 만들어보면서 깨달음 ㅎㅎ 그럼 처음으로 github action 연동에 대하여 정리하여보자 CI/CD 란? CI - Continuous Intergration (지속적인 통합) CD - Continuous Deliver, Continuous Deployment (지속적인 배포) 를 뜻하며 개발자들이 코드를 수정하고 통합하고 그리고 수정본을 배포하는 과정을 자동화하여 불필요한 공수를 줄이고 보다 빠른 ..
이번 프로젝트에서 aws에서 제공하는 데이터베이스인 rds를 사용하기로 하였다 데이터베이스 인스턴스를 생성하고 스프링부트 프로젝트에 연동하는 부분까지 실습해보자 1. 먼저 aws에 접속하여 rds 페이지로 이동하여 데이터베이스 생성 버튼 클릭 2. 데이터베이스 선택 - 나는 mysql을 사용할 것 이므로 mysql을 선택했다 3. 템플릿 선택 / 인스턴스 식별자 / 디비 사용자 & 암호 설정 4. 연결에서 퍼블릭 엑세스 예 선택 - 추후 보안그룹 설정을 통하여 인바운드 수정 가능 5. 추가구성에서 데이터베이스 이름 지정 / 파라미터 그룹은 생성 후 다시 지정 예정 6. 완료 버튼 눌러서 디비 생성 완료 RDS를 처음 생성하면 타임존, Character Set, Max Connection 을 설정해줘야 한..
1. Docker 소개 1-1. Docker란? 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 1-2. 가상머신과 도커의 차이점? 가상 머신(VM)은 서버 하드웨어를 가상화(또는 직접 관리할 필요성을 제거)하는 반면, 컨테이너는 서버의 운영 체제를 가상화합니다. Docker는 컨테이너를 위한 운영 체제(또는 런타임)입니다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공합니다. (질문하기 ㅠㅠ 이해 안가여 ㅎㅎ) 1-3. Docker의 기능? Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수..