Skip to content

fix: CD file jdbc connection #138

fix: CD file jdbc connection

fix: CD file jdbc connection #138

Workflow file for this run

name: CD
on:
push:
branches:
- develop
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582
- name: Add SSH host key
run: |
mkdir -p ~/.ssh
ssh-keyscan -H ${{ secrets.HOST }} >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
- name: Set up SSH private key
run: |
echo "${{ secrets.EC2_PRIVATE_KEY }}" > ~/.ssh/private_key.pem
chmod 600 ~/.ssh/private_key.pem
- name: Build with Gradle
run: ./gradlew clean build -x test
- name: Check JAR File
run: ls -l build/libs/
# - name: Upload JAR to Remote Server
# run: |
# echo "${{ secrets.EC2_PRIVATE_KEY }}" > ~/.ssh/private_key.pem
# chmod 600 ~/.ssh/private_key.pem
# ssh -i ~/.ssh/private_key.pem ${{ secrets.USERNAME }}@${{ secrets.HOST }} "mkdir -p ${{ secrets.APP_DIR }}"
# scp -i ~/.ssh/private_key.pem build/libs/moim-0.0.1-SNAPSHOT.jar ${{ secrets.USERNAME }}@${{ secrets.HOST }}:${{ secrets.APP_DIR }}
# env:
# EC2_PRIVATE_KEY: ${{ secrets.EC2_PRIVATE_KEY }}
#
# - name: Deploy to Remote Server
# run: |
# ssh -i ~/.ssh/private_key.pem ${{ secrets.USERNAME }}@${{ secrets.HOST }} '
# export APP_DIR="${{ secrets.APP_DIR }}";
# export DB="${{ secrets.DB }}";
# export DB_PASSWORD="${{ secrets.DB_PASSWORD }}";
# export DB_USERNAME="${{ secrets.DB_USERNAME }}";
# export HOST="${{ secrets.HOST }}";
# bash -s
# ' < ./deploy.sh
# env:
# EC2_PRIVATE_KEY: ${{ secrets.EC2_PRIVATE_KEY }}
# APP_DIR: ${{ secrets.APP_DIR }}
# DB: ${{ secrets.DB }}
# DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
# DB_USERNAME: ${{ secrets.DB_USERNAME }}
# HOST: ${{ secrets.HOST }}
# add docker
- name: Set AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ap-northeast-2
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
# login to ECR
- name: Login to ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
# create docker image
- name: Create docker image
run: docker build -t moim-server .
# add tag to docker image
- name: Add tag to docker image
run: docker tag moim-server ${{ steps.login-ecr.outputs.registry }}/moim-server:latest
# push docker image to ECR
- name: Push docker image to ECR
run: docker push ${{ steps.login-ecr.outputs.registry }}/moim-server:latest
# access EC2 with SSH
- name: Deploy container on EC2
uses: appleboy/ssh-action@v1.0.3
with:

Check failure on line 100 in .github/workflows/CD.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/CD.yml

Invalid workflow file

You have an error in your yaml syntax on line 100
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script_stop: true
script: |
docker stop moim-server || true
docker rm moim-server || true
docker pull ${{ steps.login-ecr.outputs.registry }}/moim-server:latest
# docker run -d \
# --name moim-server \
# -p 8080:8080 \
# -e HOST=${{ secrets.HOST }} \
# -e DB_USERNAME=${{ secrets.DB_USERNAME }} \
# -e DB_PASSWORD=${{ secrets.DB_PASSWORD }} \
# ${{ steps.login-ecr.outputs.registry }}/moim-server:latest
docker run --add-host=host.docker.internal:host-gateway \
-e HOST=host.docker.internal \
-e DB_USERNAME=${{ secrets.DB_USERNAME }} \
-e DB_PASSWORD=${{ secrets.DB_PASSWORD }} \
-p 8080:8080 \
--name moim-server \
-d ${{ steps.login-ecr.outputs.registry }}/moim-server:latest