Skip to content

Commit

Permalink
백엔드 배포 작업 (#159)
Browse files Browse the repository at this point in the history
* 깃허브 액션 CI 워크플로 작성 (#6)

feat: 깃허브 액션 CI 워크플로 작성

* feat: 프로젝트 생성 및 의존성 추가

* chore: logging 설정

* feat: Member Entity 생성

* refactor: Member 패키지 변경

* feat: Runner Entity 생성

* refactor: 모든 entity 에서 embeddedId 제거

* feat: Company null 예외 검증 구현

* feat: Email null 예외 검증 구현

* feat: GithubUrl null 예외 검증 구현

* feat: Name null 예외 검증 구현

* feat: OauthId null 예외 검증 구현

* feat: Member null 예외 검증 구현

* refactor: Grade 패키지 위치 변경

* refactor: TotalRating 매직 넘버 설정

* feat: Supporter 의 VO 객체 생성

* feat: Supporter 생성 기능 구현

* feat: Runner null 예외 검증 구현

* refactor: Runner, Supporter 외래키 nullable = false 로 설정

* feat: Title VO 구현

* feat: Contents VO 구현

* feat: PullRequestUrl VO 구현

* refactor: Contents 타입 varchar 에서 text로 변경

* feat: Deadline VO 구현

* feat: WatchedCount VO 구현

* feat: ChattingRoomCount VO 구현

* fix: 예외 메시지 분리

* style: 클래스 명과 변수 사이 개행

* feat: RunnerPost entity 생성

* refactor: Member 이름 변수명 변경

* feat: TagName VO 구현

* feat: TagCount VO 구현

* feat: Tag entity 생성

* feat: RunnerPostTag entity 생성

* feat: BaseEntity 적용

* feat: Entity JPA repository 구현

* feat: Cascade persist 옵션과 orphanRemoval 옵션 추가

* feat: RunnerPost Controller 및 Service 뼈대 코드 작성

* test: RunnerPostTag 테스트 수정

* refactor: gradle 빌드 파일 삭제

* docs: CI 스크립트 수정

* refactor: gradle 빌드 파일 재생성

* refactor: gradle 빌드 파일 재생성

* docs: CI 스크립트 내의 프로젝트 빌드 파일 경로 수정

* docs: CI 오류 확인

* docs: CI gradlew 경로로 이동

* docs: CI 경로 한 run에 설정

* docs: CI 성공

* 스프링 기본 구조 설계 (#18)

* feat: 프로젝트 생성 및 의존성 추가

* chore: logging 설정

* feat: Member Entity 생성

* refactor: Member 패키지 변경

* feat: Runner Entity 생성

* refactor: 모든 entity 에서 embeddedId 제거

* feat: Company null 예외 검증 구현

* feat: Email null 예외 검증 구현

* feat: GithubUrl null 예외 검증 구현

* feat: Name null 예외 검증 구현

* feat: OauthId null 예외 검증 구현

* feat: Member null 예외 검증 구현

* refactor: Grade 패키지 위치 변경

* refactor: TotalRating 매직 넘버 설정

* feat: Supporter 의 VO 객체 생성

* feat: Supporter 생성 기능 구현

* feat: Runner null 예외 검증 구현

* refactor: Runner, Supporter 외래키 nullable = false 로 설정

* feat: Title VO 구현

* feat: Contents VO 구현

* feat: PullRequestUrl VO 구현

* refactor: Contents 타입 varchar 에서 text로 변경

* feat: Deadline VO 구현

* feat: WatchedCount VO 구현

* feat: ChattingRoomCount VO 구현

* fix: 예외 메시지 분리

* style: 클래스 명과 변수 사이 개행

* feat: RunnerPost entity 생성

* refactor: Member 이름 변수명 변경

* feat: TagName VO 구현

* feat: TagCount VO 구현

* feat: Tag entity 생성

* feat: RunnerPostTag entity 생성

* feat: BaseEntity 적용

* feat: Entity JPA repository 구현

* feat: Cascade persist 옵션과 orphanRemoval 옵션 추가

* feat: RunnerPost Controller 및 Service 뼈대 코드 작성

* test: RunnerPostTag 테스트 수정

* refactor: gradle 빌드 파일 삭제

* refactor: gradle 빌드 파일 재생성

* refactor: gradle 빌드 파일 재생성

* feat: request dto 생성

* feat: service 레이어 구현

* style: 주석 추가

* feat: Controller 레이어 구현

* refactor: update 한 후에 id 받아오도록 수정

* test: update 성공 테스트 작성

* refactor: Tag 에서 BaseEntity 제거

* feat: Tag 개수 증가 및 감소, 비교 로직 추가

* test: 테스트 displayName 변경

* feat: 초기 tag 생성 기능 구현

* feat: 필드 update 기능 구현

* feat: request dto 에 LocalDateTime getter 생성

* feat: tag 이름으로 tag 조회 기능 구현

* feat: id 로 RunnerPostTag 목록 조회 기능 구현

* feat: 러너 게시글 수정 service 구현

* refactor: dto 이름 변경

* refactor: equalsAndHashCode 적용

* test: service 테스트 작성

* Revert "러너 게시글 수정 API 구현" (#36)

* 러너 게시글 등록 API 구현 (#30)

* feat: RunnerPost VO에 Equals&Hashcode 추가

* feat: TagRepository 에 Tag 이름으로 조회하는 로직 추가

* feat: TagName name 컬럼 unique 제약 조건 추가

* feat: Tag 기본 생성 기능 및 count 증가 기능 추가

* feat: RunnerPostTag 추가 기능 구현

* refactor: RunnerPostTag create 메서드 삭제

* feat: WatchedCount 기본 생성 기능 구현

* feat: ChattingRoomCount 기본 생성 기능 구현

* feat: RunnerPost 기본 생성 기능 구현

* feat: RunnerRepository에서 Runner와 Member를 조인해서 가져오는 기능 구현

* feat: RunnerService에서 Runner와 Member를 조인해서 가져오는 기능 구현

* refactor: TagCount method 이름 변경

* feat: RunnerPost 생성 API 구현

* feat: RunnerPost 에 Tag 를 전체 추가하는 기능 구현

* style: RunnerPostService 줄바꿈 제거

* fix: Join fetch 조건 오류 해결

* feat: RunnerPostController createRunnerPost 에서 create 반환 변수 명 변경

* refactor: create 메서드 명을 createRunnerPost 로 변경

* style: 공백 정리

* refactor: findByIdJoinMember 를 joinMemberByRunnerId 로 변경

* refactor: TagCount 의 기본값을 항상 새로운 객체로 반환 하도록 수정

* refactor: WatchedCount 의 기본값을 항상 새로운 값으로 반환하도록 변경

* refactor: ChattingRoomCount 의 기본값을 항상 새로운 값으로 변경하도록 변경

* 러너 게시글 상세 조회 및 삭제 API 구현 (#28)

* feat: 러너 게시글에 러너 게시글 태그 추가 기능 구현

* feat: RunnerPost 상세 조회 및 삭제 기능 추가

* feat: Tag 레포지터리에 TagCount 감소 기능 구현

* feat: RunnerPost 식별자값으로 RunnerPostTag 목록 조회 기능 구현

* feat: RunnerPost 서비스 상세 조회 및 삭제 기능 구현

* feat: Member 에 ImageUrl 필드 추가

* feat: RunnerPost 컨트롤러 상세 조회 및 삭제 API 구현

* test: ImageUrl null 예외 검증 테스트 구현

* test: DisplayName 내용 수정

* fix: Tag 의 TagCount 수가 줄어든 후 영속성 컨텍스트가 비어지지 않도록 수정

* refactor: Tag 의 TagCount 감소 기능을 변경 감지로 리팩터링

* test: RunnerPost 레포지터리 상세 조회 및 삭제 테스트 분리

* refactor: JPQL 에 사용할 변수명을 @param 으로 표기하도록 리팩터링

* test: RestAssured 에 @transactional 제거

* test: RestAssured 응답 객체 변환 기능 수정

* test: 인수테스트 @disable

* fix: RunnerPost 의 deadline 응답 반환 타입 수정

* test: Non Ascii 어노테이션 추가

* refactor: RunnerPostResponse Single 레코드명 리팩터링

* refactor: 레포지터리 Tag 조인 메서드명 리팩터링

* test: 사용하지 않는 인자 삭제

* 러너 게시글 수정 API 구현 (#41)

* refactor: id -> runnerPostId 변경

* refactor: UriComponentsBuilder 적용

* refactor: String -> LocalDateTime 으로 변경

* test: 변수에 final 키워드 적용

* refactor: service 에 final 키워드 적용

* refactor: Getter 와 EqualsAndHashCode 어노테이션 위치 변경

* refactor: tag 관련 네이밍 변경

* style: 개행 닫기

* refactor: tagCount 수정

* refactor: import 적용

* refactor: 변수명 변경

* refactor: 어노테이션 위치 조정

* refactor: Tag 는 TimeStamp 저장 안하도록 설정

* refactor: id 로 runnerPost 조회 시 검색되지 않으면 예외 던지도록 설정

* refactor: 메소드명 변경

* test: display name 변경

* refactor: TagCount init 시에 parseInt 하는 방식으로 변경

* 러너 게시글 조회 API 구현 (#32)

* feat: 리뷰 요청 글 도메인 구현

* feat: 리뷰 요청 글 컨트롤러 구현

* feat: 리뷰 요청 글 레포지토리 구현

* feat: 리뷰 요청 글 서비스 구현

* feat: VO equals and hashcode 재정의

* test: 리뷰 요청글 작성 테스트 작성

* feat: imageUrl 생성

* refactor: 리뷰 반영

* refactor: 모든 리뷰 요청 글 조회외에 모두 삭제

* fix: 충돌 해결

---------

Co-authored-by: jeonghoon <[email protected]>

* 리뷰 요청 글 전체 조회 API 수정, Tag이름 조회 수정 (#47)

* feat: 리뷰 요청 글 도메인 구현

* feat: 리뷰 요청 글 컨트롤러 구현

* feat: 리뷰 요청 글 레포지토리 구현

* feat: 리뷰 요청 글 서비스 구현

* feat: VO equals and hashcode 재정의

* test: 리뷰 요청글 작성 테스트 작성

* feat: imageUrl 생성

* refactor: 리뷰 반영

* refactor: 모든 리뷰 요청 글 조회외에 모두 삭제

* fix: 충돌 해결

* fix: 리뷰 요청 글 전체 조회 API path 수정

* fix: Tag 이름 조회 수정

* fix: API 수정에 따른 테스트 코드 수정

* sytle: 사용하지 않는 () 삭제

---------

Co-authored-by: jeonghoon <[email protected]>

* 러너 포스트 중복 저장 시 발생하는 오류 해결 (#48)

* chore: docker 외부 포트 고정

* fix: 중복되어서 저장이 안되는 문제 수정

* 러너 게시글 태그 중복 조회 오류 해결 (#51)

fix: 영속성 컨텍스트에 RunnerPostTag가 기존에 존재하고 있으므로 중복되지 않도록 RunnerPost에 RunnerPostTag를 add하는 기능 삭제

* 예외 메시지 반환을 위한 ErrorResponse 객체 생성 (#62)

* feat: 새로운 커스텀 Exception 추가 및 이전 버전의 Exception 클래스 수정

* feat: 새로운 커스텀 Exception 도메인별 구현체 및 도메인별 에러 코드 enum 구현

* feat: 베이스 커스텀 Exception 에 HttpStatus 가져오기 기능 구현

* feat: 베이스 에러 응답 객체 구현

* fix: 아직 구현되지 않은 러너 게시글 조회수 증가 기능 삭제

* test: 러너 게시글 마감일 검증 테스트 수정

* feat: 클라이언트 요청 커스텀 Exception 추가 및 병합된 에러 코드 구현

* 러너 게시글 조회 객체 이름 수정 (#63)

* feat: 리뷰 요청 글 도메인 구현

* test: 리뷰 요청글 작성 테스트 작성

* feat: imageUrl 생성

* refactor: 리뷰 반영

* refactor: 모든 리뷰 요청 글 조회외에 모두 삭제

* refactor: 명세에 맞게 변수명 수정

* 테스트 코드를 위한 Fixture 생성 및 RunnerPost 테이블에 status 칼럼 추가 (#74)

* refactor: Runner 와 Supporter 에 Grade 를 nullable=false로 설정

* feat: RunnerPost 에 ReviewStatus 추가

* test: MemberFixture 구현

* test: RunnerFixture 구현

* test: SupporterFixture 구현

* test: TagFixture 구현

* test: Fixture 추상클래스로 변경

* test: Fixture 정적 팩토리 메서드 파라미터 이름 변경

* test: Fixture 검증

* RunnerPostTag에 FK 제약 조건 이름 수정  (#66)

* feat: RunnerPostTag에 fk 제약조건 이름 변경

* refactor: RunnerPost fk 제약 조건 이름 변경

* refactor: Runner fk 제약 조건 이름 변경

* refactor: Supporter fk 제약 조건 이름 변경

* refactor: RunnerPostTag fk 제약 조건 이름 변경

* 나누어져있는 RunnerPostResponse 통합 (#78)

* refactor: dto 통합

* refactor: Profile dto 통합

* 서포터 목록 조회 API 구현 version-test (#93)

* feat: Runner 와 Supporter 에 introduction 칼럼 추가

* feat: SupporterService 구현

* feat: Supporter Response 구현

* feat: 서포터 전체 조회 controller 구현

* feat: 서포터 전체 조회 Response 에 회사 추가 구현

* 서포터 목록 조회 API 에서 별점 제거 (#96)

* feat: Runner 와 Supporter 에 introduction 칼럼 추가

* feat: SupporterService 구현

* feat: Supporter Response 구현

* feat: 서포터 전체 조회 controller 구현

* feat: 서포터 전체 조회 Response 에 회사 추가 구현

* fix: supporter response 에 별점 제거

* fix: supporter response 에 별점 제거

* 러너 리뷰 요청 게시글 생성 version-test (#94)

* feat: RunnerPostService 에서 testversion 저장하는 기능 구현

* feat: RunnerPostController 서포터 식별자를 받아 글을 생성하는 메서드 구현

* refactor: RunnerPost 와 Runner 의 관계를 ManyToOne 으로 변경

* test: 테스트에 SupporterRepository 의존성 추가

* refactor: RunnerPost 변수에 final 키워드 추가

* refactor: CreateReqeustDto 에 timezone 추가

* feat: 러너 게시글 조회 API 구현 version-test

* style: 주석 제거

* Profile에 isOwner 삭제하고 RunnerPostResponse에 isOwner 추가 (#104)

* feat: 러너 게시글 조회 API 구현 version-test

* style: 주석 제거

* refactor: ProfileResponse에 isOwner 삭제

* refactor: RunnerPostResponse에 isOwner 추가

* test: Response 변경에 따른 테스트 수정

* refactor:isOwner VO 추가

* refactor: 유지보수를 위해 true를 기본값으로 설정

* refactor: ProfileResponse 수정에 의한 변경

* Docker Hub와 GitHub self hosted runner를 이용한 CD 설정  (#106)

* docs: Docker 를 이용한 CD 설정

* docs: CD 타겟 브랜치 수정

* 러너 게시글 상세 조회 API 구현 version-test (#109)

* Test Fixture 파라미터 타입 수정 (#110)

* test: Domain Fixture 메서드 파라미터 타입 수정

* test: 테스트 Fixture 사용 수정

* test: Runner Test Fixture 수정

* 클라이언트 예외를 위한 Validator 추가 (#117)

* refactor: ClientRequestException 일반 클래스로 변경

* refactor: ErrorResponse 에서 httpStatus 제거

* refactor: RunnerPostUpdateRequest record로 변경

* refactor: ClientErrorCode 내용 추가

* refactor: record로 생긴 변화 적용

* feat: NotNullValid 어노테이션 추가

* refactor: ErrorResponse 에 getter 추가

* feat: Controller valid 추가

* feat: ValidFuture 어노테이션 추가

* feat: 어노테이션 이름 변경

* feat: Max validator 추가

* feat: request dto에 validation 적용

* refactor: 어노테이션 target 조정

* refactor: tag 값이 없을 때 Bad Request 보내도록 수정

* CORS 설정 및 Profile을 RunnerProfile로 변경 (#120)

* feat: cors 설정

* refactor: MemberProfile 을 RunnerProfile 로 수정

* feat: cors HttpMethod 에 PATCH 추가

* 환경 변수 보호를 위한 서브 모듈 연결 (#125)

* feat: 서브 모듈 추가

* feat: 서브 모듈 환경 설정

* fix: 실험을 위해 현재 브랜치로 CD 실행하도록 변경

* refactor: Dockerfile 경로 변경

* refactor: 실험을 위해 공백 푸시

* refactor: 실험을 성공 후 공백 다시 추가

* refactor: CD 브랜치 dev/BE로 변경

* refactor: CI/CD 파일명 변경

* String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현 (#127)

* feat: String 으로 된 Date 값을 LocalDateTime 으로 변경하는 컨버터 구현

* refactor: RunnerPostCreateTestRequest 에서 컨버터를 사용하도록 변경

* feat: Json으로 직렬화될 때 custom 날짜 형식으로 변경되도록 수정

* refactor: RunnerPostresponse 에서 JsonFormat을 사용하지 않도록 변경

* test: StringDateToLocalDateTime 테스트 방식 변경

* test: ConverterConfigTest를 SpringBootTest 에서 WebMvcTest 로 변경

* test: StringDateToLocalDateTimeConverter 실패 테스트 추가

* feat: DateTimeConverter desiralizer 구현

* test: ConverterConfigTest 실패 테스트 수정

* Merge pull request #130

* test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가

* 백엔드 프로덕션 컨테이너 세팅 (#132)

* chore: Dockerfile 실행 환경 dev, prod 분리 및 사용하지 않는 Docker Image 삭제 명령어 추가

* chore: ci/cd deploy 환경 분리

* Merge pull request #130

* test: Restdocs Test Config 설정 및 러너 게시글 전체 조회 api test 추가

* secret 파일 pull (#139)

fix: secret 파일 pull

* secret 파일 pull (#141)

fix: secret 파일 pull

* secret 파일 pull (#142)

fix: secret 파일 pull

* dev 환경에 방언 추가 (#143)

* fix: secret 파일 pull

* refactor: secret 변경

* dev에 prod db 적용해보기 (#144)

* fix: secret 파일 pull

* refactor: secret 변경

* fix: cicd 스크립트에 prod db 적용

* cicd 파일 및 환경 변수 원상복구 (#145)

* fix: secret 파일 pull

* refactor: secret 변경

* fix: cicd 스크립트에 prod db 적용

* refactor: secret, cicd 원상복귀

* secret 변경 (#146)

* fix: secret 파일 pull

* refactor: secret 변경

* fix: cicd 스크립트에 prod db 적용

* refactor: secret, cicd 원상복귀

* refactor: secret 수정

* 도커 secret 수정 (#147)

* fix: secret 파일 pull

* refactor: secret 변경

* fix: cicd 스크립트에 prod db 적용

* refactor: secret, cicd 원상복귀

* refactor: secret 수정

* refactor: secret 수정

* 서포터 기술 태그 table 추가 (#151)

* feat: TechnicalTag entity 생성

* feat: SupporterTechnicalTag entity 생성

* fix: 터지는 테스트 수정

* 러너 게시글 조회할 때 조회수 증가 기능 구현 (#148)

* feat: 러너 게시글 조회수 증가 기능 구현

* 서포터 기술 태그 table 추가 (#151)

* feat: TechnicalTag entity 생성

* feat: SupporterTechnicalTag entity 생성

* fix: 터지는 테스트 수정

* feat: 러너 게시글 조회수 증가 기능 구현

---------

Co-authored-by: Jeonghoon Park <[email protected]>

* docker network 설정 (#156)

fix: docker network 설정

* fix: docker network 설정 (#158)

---------

Co-authored-by: HyunSeo Park (Hyena) <[email protected]>
Co-authored-by: Ethan <[email protected]>
Co-authored-by: 은비 <[email protected]>
Co-authored-by: eunbii0213 <[email protected]>
  • Loading branch information
5 people authored Jul 31, 2023
1 parent d1ffbff commit f0a938a
Show file tree
Hide file tree
Showing 195 changed files with 7,775 additions and 0 deletions.
80 changes: 80 additions & 0 deletions .github/workflows/deploy-all-ci-cd-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: All deploy CI + CD on push

on:
push:
branches: [ "deploy" ]

jobs:
deploy-ci-be:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ secrets.SUBMODULE_BE_TOKEN }}
submodules: true

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Build with Gradle
uses: gradle/[email protected]
- name: Execute Gradle build
run: |
cd backend/baton
./gradlew build
- name: Setup Docker buildx
uses: docker/[email protected]

- name: Login to Docker Hub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_DEPLOY_USERNAME }}
password: ${{ secrets.DOCKERHUB_DEPLOY_TOKEN }}

- name: Docker Image Build
run: |
cd backend/baton
docker build --platform linux/arm64/v8 -t 2023batondeploy/2023-baton-deploy -f Dockerfile-deploy .
- name: Docker Hub Push
run: docker push 2023batondeploy/2023-baton-deploy

deploy-ci-fe:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: 의존성을 설치한다
run: npm install

- name: 테스트를 수행한다
run: npm run test

deploy-cd-be:
needs: deploy-ci-be
runs-on: [self-hosted, Linux, ARM64, deploy]

steps:
- name: Pull Latest Docker Image
run: |
sudo docker login --username ${{ secrets.DOCKERHUB_DEPLOY_USERNAME }} --password ${{ secrets.DOCKERHUB_DEPLOY_TOKEN }}
if sudo docker inspect spring-baton &>/dev/null; then
sudo docker stop spring-baton
sudo docker rm -f spring-baton
sudo docker image prune -af
fi
sudo docker pull 2023batondeploy/2023-baton-deploy:latest
- name: Docker Compose
run: |
sudo docker run --name spring-baton -p 8080:8080 2023batondeploy/2023-baton-deploy:latest 1>> build.log 2>> error.log &
26 changes: 26 additions & 0 deletions .github/workflows/deploy-be-ci-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: BE deploy CI on Pull Request

on:
pull_request:
branches: [ "deploy" ]

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'
- name: Build with Gradle
uses: gradle/[email protected]
- name: Execute Gradle build
run: |
cd backend/baton
./gradlew build
21 changes: 21 additions & 0 deletions .github/workflows/deploy-fe-ci-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: FE deploy CI on Pull Request

on:
pull_request:
branches: [ "deploy" ]

jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: 의존성을 설치한다
run: npm install

- name: 테스트를 수행한다
run: npm run test
65 changes: 65 additions & 0 deletions .github/workflows/dev-be-ci-cd-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: dev/BE CD on Push

on:
push:
branches: [ "dev/BE" ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
token: ${{ secrets.SUBMODULE_BE_TOKEN }}
submodules: recursive

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Build with Gradle
uses: gradle/[email protected]
- name: Execute Gradle build
run: |
cd backend/baton
./gradlew build
- name: Setup Docker buildx
uses: docker/[email protected]

- name: Login to Docker Hub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKERHUB_DEV_USERNAME }}
password: ${{ secrets.DOCKERHUB_DEV_TOKEN }}

- name: Docker Image Build
run: |
cd backend/baton
docker build --platform linux/arm64/v8 -t 2023baton/2023baton -f Dockerfile-dev .
- name: Docker Hub Push
run: docker push 2023baton/2023baton

deploy:
runs-on: [self-hosted, Linux, ARM64]
needs: build

steps:
- name: Pull Latest Docker Image
run: |
sudo docker login --username ${{ secrets.DOCKERHUB_DEV_USERNAME }} --password ${{ secrets.DOCKERHUB_DEV_TOKEN }}
if sudo docker inspect spring-baton &>/dev/null; then
sudo docker stop spring-baton
sudo docker rm -f spring-baton
sudo docker image prune -af
fi
sudo docker pull 2023baton/2023baton:latest
- name: Docker Compose
run: |
sudo docker run --name spring-baton --network=baton -p 8080:8080 2023baton/2023baton:latest 1>> build.log 2>> error.log &
26 changes: 26 additions & 0 deletions .github/workflows/dev-be-ci-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: dev/BE CI on Pull Request

on:
pull_request:
branches: [ "dev/BE" ]

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'
- name: Build with Gradle
uses: gradle/[email protected]
- name: Execute Gradle build
run: |
cd backend/baton
./gradlew build
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "backend/baton/secret"]
path = backend/baton/secret
url = https://github.com/2023-baton/sub-be.git
Loading

0 comments on commit f0a938a

Please sign in to comment.