2023.02.06.MON

ronglong·2023년 2월 6일
0
  1. Github Actions를 이용한 배포 자동화
  • Spring 프로젝트의 이름으로 빌드 파일이 생성됨. 설정 파일 구성에 참고.
  • Github Actions 배포 자동화 과정
    • .yml 설정 파일에 따라 Github Repository의 특정 변동사항(main branch에 push 등)을 트리거로 작동
    • 빌드 결과물(.jar)을 S3 버킷에 저장
    • Code Deploy가 S3에 저장되어있는 빌드 결과물을 EC2 인스턴스로 이동
    • appepec.yml, 쉘 스크립트 등에 따라 단계적으로 특정 동작(실행, 로그 기록 등)
  • Github Actions 생성
    • gradle.yml 파일이 생성되며, 안에 설정하는 것들은 다음과 같다.
      • 빌드 설정
      • 빌드 후 프로젝트 압축 설정
      • 권한 확인 설정(환경 변수)
      • 압축한 프로젝트를 S3 버킷으로 전송 설정
    • 깃헙에서 민감한 환경변수 등록 : Settings > Secrets > Actions
      • 띄어쓰기는 _ 언더바로 .
    • 깃헙에서 수정했다면, 로컬에서 다시 수정하기 전에 깃헙 변경 사항을 pull로 땡겨온 후에 수정할 것 ⭐️
    • S3에 압축 파일 전송하여 리소스 설정 끝났으면, CodeDeploy에서 어플리케이션 생성
    • gradle.yml 수정(CodeDeploy에 배포 명령 추가 : 어플리케이션 이름, 배포 그룹 이름 등)
    • appspec.yml(로그 파일 저장 위치 등), deploy.sh(로그 설정 등) CodeDeploy를 위한 설정 파일 추가
    • 확인할 때, 주소에 포트번호까지 작성할 것⭐️
  • AWS IAM Service : AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스(인증, 인가)
  • 정적 웹페이지랑 깃헙 액션 이용한 빌드 파일이랑, 다 'S3 버킷 하나'에 담아서 웹 페이지 작성 가능한 것 같다.
    https://faun.pub/deploying-website-to-aws-s3-w-github-actions-279998db5dae
  1. JMT 주문 시스템 - 질문 게시판 만들기
  • 테이블 다이어그램 작성하고, 엔티티 만들고 매핑했다.
    세터로 양방향 매핑하는 게 여전히 낯설었는데, 스터디 동기님께서 다시 알려주셨다.
    감사하다:)
양방향 세터 예시

public void setLike(Like like) {
        this.getLikeList().add(like);
        if (like.getQuestion() != this) {
            like.setQuestion(this);
        }
    }

    public void setMember(Member member) {
        this.member = member;
        if (!member.getQuestionList().contains(this)) {
            member.getQuestionList().add(this);
        }
    }

    public void setAnswer(Answer answer) {
        this.answer = answer;
        if (answer.getQuestion() != this) {
            answer.setQuestion(this);
        }
    }
  • ctrl + option + O : import 정리 단축키
  • option + cmd + L : 라인 정리 단축키

<느낀 점>
파이프라인 이용하는 것보다 깃헙 액션스 사용해서 자동 배포하는 게 조금 더 수월했다.

오늘 게시판 만들기 시작했다!
처음엔 시작이 막막했는데, 하나하나씩 작성하다보니까 나름대로 잘 됐다.
마지막에 양방향 세터랑 몇 가지 궁금한 것들은 동기님께 여쭤보고 해결했다.
감사합니다 :)

0개의 댓글