Skip to content

Merge pull request #145 from SamCoMo/JuJaeng2-patch-1 #54

Merge pull request #145 from SamCoMo/JuJaeng2-patch-1

Merge pull request #145 from SamCoMo/JuJaeng2-patch-1 #54

Workflow file for this run

name: SAMCOMO CI/CD actions
on:
push:
branches: [ "main" ]
jobs:
build-project:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
# Configure Gradle for optimal use in GiHub Actions, including caching of downloaded dependencies.
# See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- name: Setup Gradle
uses: gradle/actions/setup-gradle@417ae3ccd767c252f5661f1ace9f835f9654f2b5 # v3.1.0
- name: Set application.yml
run: |
echo "${{secrets.APPLICATION_YML}}" | base64 --decode > src/main/resources/application.yml
mkdir -p src/main/resources/firebase
echo "${{secrets.FIREBASE_KEY_FILE}}" | base64 --decode > src/main/resources/firebase/firebase-adminsdk.json
- name: Build with Gradle Wrapper
run: ./gradlew build -x test
# - name: ls -al
# run: ls -al
# - name: check build file
# run: |
# cd build/libs/
# ls -al
- name: Docker build
run: |
docker login -u ${{secrets.DOCKER_USER}} -p ${{secrets.DOCKER_PASSWORD}}
docker build -t ${{secrets.DOCKER_USER}}/samcomo .
docker push ${{secrets.DOCKER_USER}}/samcomo:latest
- name: Excuting remote ssh commands & Run container
uses: appleboy/[email protected] # ssh 접속하는 오픈소스
with:
host: ${{ secrets.EC2_HOST }} # 인스턴스 IP
username: ${{ secrets.EC2_USER_NAME}} # 우분투 아이디
key: ${{ secrets.PRIVATE_KEY }} # ec2 instance pem key
script: | # 실행할 스크립트
docker login -u ${{secrets.DOCKER_USER}} -p ${{secrets.DOCKER_PASSWORD}}
docker stop samcomo
docker rm samcomo
docker rmi ${{secrets.DOCKER_USER}}/samcomo
docker pull ${{secrets.DOCKER_USER}}/samcomo:latest
docker run -d -p ${{secrets.PROJECT_PORT}}:${{secrets.PROJECT_PORT}} --name samcomo --network ${{secrets.DOCKER_NETWORK}} ${{secrets.DOCKER_USER}}/samcomo