diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index 6176882..8e85abe 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -25,19 +25,29 @@ jobs: uses: gradle/gradle-build-action@v2 - name: Grant execute permission for gradlew - run: chmod +x ./gradlew + run: chmod +x ./labor-lawbot/gradlew - name: Build with Gradle - run: ./gradlew build -x test + run: | + cd labor-lawbot + ./gradlew build -x test - name: Run tests - run: ./gradlew test + run: | + cd labor-lawbot + ./gradlew test + + - name: List build directory + run: | + cd labor-lawbot + find . -name "*.jar" | sort - name: Upload build artifact uses: actions/upload-artifact@v3 with: name: labor-lawbot-jar - path: build/libs/*.jar + path: labor-lawbot/build/libs/*.jar + if-no-files-found: error deploy: needs: build @@ -85,6 +95,10 @@ jobs: mkdir -p ~/.ssh echo "StrictHostKeyChecking no" >> ~/.ssh/config + # EC2 인스턴스 .pem 키 + echo "${{ secrets.SSH_PRIVATE_KEY }}" > deploy_key.pem + chmod 600 deploy_key.pem + # 애플리케이션 실행 스크립트 생성 echo '#!/bin/bash' > deploy.sh echo 'cd ${{ secrets.DEPLOY_PATH }}' >> deploy.sh @@ -94,9 +108,9 @@ jobs: chmod +x deploy.sh # JAR 파일과 환경 변수 파일 전송 - scp artifact/*.jar ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ - scp lawbot.env ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ - scp deploy.sh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ + scp -i deploy_key.pem artifact/*.jar ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ + scp -i deploy_key.pem lawbot.env ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ + scp -i deploy_key.pem deploy.sh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/ # 배포 스크립트 실행 - ssh ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} 'bash -s' < deploy.sh + ssh -i deploy_key.pem ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }} 'bash -s' < deploy.sh