fix: defaultimage 안들어가는 문제수정 #239
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Journey-core dev CI/CD Pipeline | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| build-and-deploy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # 1. 코드 체크아웃 | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| # 2. JDK 설치 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| # 3. Gradle Build | |
| - name: Build with Gradle | |
| run: ./gradlew clean build | |
| # 임시. War 파일 확인 | |
| - name: List build artifacts | |
| run: ls -al build/libs | |
| # 4. docker hub 로그인 | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| # 임시. secret 값 확인 | |
| - name: Debug Secrets | |
| run: echo "SPRING_DATASOURCE_URL=$SPRING_DATASOURCE_URL" | |
| env: | |
| SPRING_DATASOURCE_URL: ${{ secrets.SPRING_DATASOURCE_URL }} | |
| # docker-compose.yml 업로드 단계 추가 | |
| - name: Upload docker-compose.yml to EC2 | |
| uses: appleboy/[email protected] | |
| with: | |
| host: ${{ secrets.EC2_HOST }} | |
| username: ${{ secrets.EC2_USER }} | |
| key: ${{ secrets.EC2_SSH_KEY }} | |
| source: ./docker-compose.yml | |
| target: /home/ubuntu/Journey | |
| # 5. Docker 이미지 빌드 및 푸시 | |
| - name: Build and Push Docker image | |
| run: | | |
| docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/mydockerrepo . | |
| docker push ${{ secrets.DOCKER_HUB_USERNAME }}/mydockerrepo | |
| # 6. AWS 배포 | |
| - name: SSH to EC2 and deploy | |
| uses: appleboy/[email protected] | |
| with: | |
| host: ${{ secrets.EC2_HOST }} | |
| username: ${{ secrets.EC2_USER }} | |
| key: ${{ secrets.EC2_SSH_KEY }} | |
| script: | | |
| cd /home/ubuntu/Journey | |
| # .env 파일 생성 | |
| cat <<EOF > .env | |
| SPRING_DATASOURCE_URL=${{ secrets.SPRING_DATASOURCE_URL }} | |
| SPRING_DATASOURCE_USERNAME=${{ secrets.SPRING_DATASOURCE_USERNAME }} | |
| SPRING_DATASOURCE_PASSWORD=${{ secrets.SPRING_DATASOURCE_PASSWORD }} | |
| SPRING_REDIS_HOST=${{ secrets.SPRING_REDIS_HOST }} | |
| SPRING_REDIS_PORT=${{ secrets.SPRING_REDIS_PORT }} | |
| GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} | |
| GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }} | |
| NAVER_CLIENT_ID=${{ secrets.NAVER_CLIENT_ID }} | |
| NAVER_CLIENT_SECRET=${{ secrets.NAVER_CLIENT_SECRET }} | |
| KAKAO_CLIENT_ID=${{ secrets.KAKAO_CLIENT_ID }} | |
| KAKAO_CLIENT_SECRET=${{ secrets.KAKAO_CLIENT_SECRET }} | |
| AWS_ACCESS_KEY=${{ secrets.AWS_ACCESS_KEY }} | |
| AWS_SECRET_KEY=${{ secrets.AWS_SECRET_KEY }} | |
| AWS_S3_BUCKET=${{ secrets.AWS_S3_BUCKET }} | |
| AWS_REGION=${{ secrets.AWS_REGION }} | |
| EOF | |
| # 기존 컨테이너 중지 및 삭제 | |
| sudo docker-compose down | |
| # 최신 이미지 Pull | |
| sudo docker-compose pull | |
| # 컨테이너 재실행 | |
| sudo docker-compose up -d |