Refactor: 테스트 코드 패키지 변경 (#211) #67
This file contains 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: Deploy for Test | |
on: | |
push: | |
branches: | |
- Weekly/** | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# Set up JDK 21 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '21' | |
distribution: 'corretto' | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.TEST_AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }} | |
aws-region: ${{ secrets.AWS_REGION }} | |
# Set up properties | |
- name: Set up properties | |
run: | | |
mkdir -p ./src/main/resources | |
echo "${{ secrets.APPLICATION }}" > ./src/main/resources/application.properties | |
echo "${{ secrets.DB_BETA }}" > ./src/main/resources/application-db.properties | |
# Gradle caching | |
- name: Gradle Caching | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Build the JAR | |
run: | | |
chmod +x ./gradlew | |
./gradlew clean build -x test | |
- name: Login to Amazon ECR | |
run: aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.TEST_ECR_REPOSITORY }} | |
- name: Build the Test Docker image | |
run: docker build -t ${{ secrets.TEST_ECR_REPOSITORY }} . | |
- name: Tag Docker image | |
run: docker tag ${{ secrets.TEST_ECR_REPOSITORY }}:latest ${{ secrets.TEST_ECR_REPOSITORY }}:latest | |
- name: Push Test Docker image to ECR | |
run: docker push ${{ secrets.TEST_ECR_REPOSITORY }}:latest | |
- name: Deploy to Test Server EC2 | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.EC2_HOST }} | |
username: ${{ secrets.EC2_USER }} | |
key: ${{ secrets.EC2_SSH_KEY }} | |
script: | | |
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.TEST_ECR_REPOSITORY }} | |
docker pull ${{ secrets.TEST_ECR_REPOSITORY }}:latest | |
docker stop test-server || true | |
docker rm test-server || true | |
docker run -d --name test-server -p 80:8080 ${{ secrets.TEST_ECR_REPOSITORY }}:latest |