diff --git a/.github/workflows/dev-deploy.yml b/.github/workflows/dev-deploy.yml index cffea92..3b946fc 100644 --- a/.github/workflows/dev-deploy.yml +++ b/.github/workflows/dev-deploy.yml @@ -38,7 +38,7 @@ jobs: password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: API 서버 Docker 이미지 생성 - run: docker build -t dnd-server . + run: docker build -t dnd-server -f ./docker/Dockerfile . - name: Docker 이미지에 Tag 붙이기 run: | diff --git a/.github/workflows/staging-deploy.yml b/.github/workflows/staging-deploy.yml new file mode 100644 index 0000000..a32795f --- /dev/null +++ b/.github/workflows/staging-deploy.yml @@ -0,0 +1,61 @@ +name: Deploy To EC2 + +on: + push: + branches: + - staging + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Github Repository 파일 불러오기 + uses: actions/checkout@v4 + + - name: JDK 17버전 설치 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: application-secret.yml 파일 만들기 + run: echo "${{ secrets.APPLICATION_STAGING_SECRET }}" > ./src/main/resources/application-secret.yml + + - name: 테스트 및 빌드하기 + run: ./gradlew clean build + + - name: AWS Resource에 접근할 수 있게 AWS credentials 설정 + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: ap-northeast-2 + aws-access-key-id: ${{ secrets.STAGING_AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.STAGING_AWS_SECRET_ACCESS_KEY }} + + - name: 도커 허브에 로그인 + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: API 서버 Docker 이미지 생성 + run: docker build -t dnd-server -f ./docker/Dockerfile . + + - name: Docker 이미지에 Tag 붙이기 + run: | + docker tag dnd-server ${{ secrets.DOCKER_HUB_USERNAME }}/dnd-staging-server:latest + + - name: Docker Hub에 Docker 이미지 Push하기 + run: | + docker push ${{ secrets.DOCKER_HUB_USERNAME }}/dnd-staging-server:latest + +# - name: SSH로 EC2에 접속하여 Docker Compose 실행 +# uses: appleboy/ssh-action@v1.0.3 +# with: +# host: ${{ secrets.EC2_HOST }} +# username: ${{ secrets.EC2_USERNAME }} +# key: ${{ secrets.EC2_PRIVATE_KEY }} +# script_stop: true +# script: | +# docker-compose -f /home/ubuntu/compose/docker-compose.yml down || true +# docker-compose -f /home/ubuntu/compose/docker-compose.yml pull +# docker-compose -f /home/ubuntu/compose/docker-compose.yml up -d diff --git a/Dockerfile b/docker/Dockerfile similarity index 100% rename from Dockerfile rename to docker/Dockerfile diff --git a/docker-compose.yml b/docker/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to docker/docker-compose.yml