diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index bbb341c..ecf9c75 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -2,7 +2,10 @@ name: CI/CD on: push: - branches: [ "main" ] + branches: + - main + - develop + - develop2 permissions: contents: read @@ -21,6 +24,13 @@ jobs: java-version: '17' distribution: 'temurin' + - name: Setup MySQL + uses: mirromutth/mysql-action@v1.1 + with: + mysql database: 'testDB' + mysql user: 'test' + mysql password: 'testPW' + - name: Create application.properties run: | cat < ./src/main/resources/application.properties @@ -48,13 +58,26 @@ jobs: - name: executing remote ssh commands using password uses: appleboy/ssh-action@master with: - host: ${{ secrets.HOST }} - username: ubuntu - key: ${{ secrets.KEY }} - script: | - sudo docker rm $(sudo docker ps -a) - sudo docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }} - cd ~ - docker-compose up -d - sudo docker image prune -f + host: ${{ secrets.HOST }} + username: ubuntu + key: ${{ secrets.KEY }} + script: | + # 기존 컨테이너 종료 및 제거 + echo "Stopping and removing existing Docker containers..." + sudo docker rm -f $(sudo docker ps -aq) || echo "No containers to remove" + + # 최신 Docker 이미지 가져오기 + echo "Pulling the latest Docker image..." + sudo docker pull ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPO }} + + # Docker Compose를 통해 새 컨테이너 실행 + echo "Starting deployment with Docker Compose..." + + cd ~ + sudo docker-compose up -d --build + + # 사용하지 않는 Docker 이미지 정리 + echo "Cleaning up unused Docker images..." + sudo docker image prune -f || echo "No images to prune" + diff --git a/src/main/java/kw/zeropick/member/controller/MemberController.java b/src/main/java/kw/zeropick/member/controller/MemberController.java new file mode 100644 index 0000000..33edff9 --- /dev/null +++ b/src/main/java/kw/zeropick/member/controller/MemberController.java @@ -0,0 +1,7 @@ +package kw.zeropick.member.controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class MemberController { +} diff --git a/src/main/java/kw/zeropick/member/domain/Member.java b/src/main/java/kw/zeropick/member/domain/Member.java index adaa7f6..7826ecf 100644 --- a/src/main/java/kw/zeropick/member/domain/Member.java +++ b/src/main/java/kw/zeropick/member/domain/Member.java @@ -1,12 +1,19 @@ package kw.zeropick.member.domain; - import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; import java.time.LocalDate; @Entity +@Getter +@Builder +@AllArgsConstructor +@NoArgsConstructor public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -24,4 +31,6 @@ public class Member { @NotNull private String password; + + } diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties index 1813eda..4c6f6d0 100644 --- a/src/test/resources/application.properties +++ b/src/test/resources/application.properties @@ -1,15 +1,15 @@ -spring.application.name=zeropick - -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.url=jdbc:mysql://localhost:3306/testDB?characterEncoding=UTF-8&serverTimezone=Asia/Seoul -spring.datasource.username=test -spring.datasource.password=testPW - -# spring jpa -spring.jpa.database=mysql -spring.jpa.show-sql=true -spring.jpa.hibernate.ddl-auto=create-drop -spring.jpa.properties.hibernate.format_sql=true - -commit.hash=local -api.server.url=http://localhost:8080 +spring.application.name=zeropick + +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +spring.datasource.url=jdbc:mysql://localhost:3306/testDB?characterEncoding=UTF-8&serverTimezone=Asia/Seoul +spring.datasource.username=test +spring.datasource.password=testPW + +# spring jpa +spring.jpa.database=mysql +spring.jpa.properties.hibernate.show_sql=true +spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.properties.hibernate.format_sql=true + +commit.hash=local +api.server.url=http://localhost:8080