Skip to content

raheego/springdeveloper-blog

Repository files navigation

Spring Boot Blog Project

프로젝트 소개

해당 글은 아래 도서의 내용을 참고하며 정리한 개인학습용 글입니다. 
스프링 부트 3 벡엔드 개발자 되기 - 자바 편, 신선영

skill

  • Spring Boot, AWS, Github Action

주요 기능

  • 게시글 등록, 수정, 삭제 기능 구현
  • Oauth2 인증 : 구글 소셜 로그인, JWT 토큰 인증
  • AWS 배포 : Elastic Beanstalk 로 배포
  • CI/CD : AGithub Actions를 이용하여 배포전 과정 자동화

화면

image

ci/cd yml 파일

# 워크플로의 이름 지정
name: CI/CD

#워크 플로가 시작될 조건 지정
on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest #실행환경 지정
    #실행 스텝 지정
    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-java@v3
        with:
          distribution: 'corretto'
          java-version: '17'

      - name: Grant execute permission for gradlew
        run: chmod +x gradlew

      - name: Build with Gradle
        run: ./gradlew clean build

      # 현재 시간 가져오기
      - name: Get current time
        uses: josStorer/get-current-time@v2.0.2
        id: current-time
        with:
          format: YYYY-MM-DDTHH-mm-ss
          utcOffset: "+09:00"

      # 배포용 패키지 경로 저장
      - name: Set artifact
        run: echo "artifact=$(ls ./build/libs)" >> $GITHUB_ENV

      # 빈스토크 배포
      - name: Beanstalk Deploy
        uses: einaregilsson/beanstalk-deploy@v20
        with:
          aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          application_name: 
          environment_name: 
          version_label: github-action-${{ steps.current-time.outputs.formattedTime }}
          region: ap-northeast-2
          deployment_package: ./build/libs/${{ env.artifact }}
  • aws_access_key: AWS에 접근하기 위한 액세스 키
  • aws_secret_key: AWS에 접근하기 위한 비밀 키
  • application_name: 배포할 애플리케이션의 이름
  • environment_name: 배포할 환경의 이름
  • version_label: 배포 버전을 라벨링합니다. 현재 시간으로 생성된 라벨을 사용합니다.
  • region: AWS 리전 (여기서는 ap-northeast-2, 즉 서울 리전)
  • deployment_package: 배포할 패키지의 경로. 앞서 저장한 artifact 환경 변수를 사용하여 최근 빌드 결과를 지정

현재 aws 비용문제로 배포 중단상태입니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published