Update README.md #92
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
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle | |
name: PONNECT CI with Gradle | |
on: #μ΄λ²€νΈ κ°μ§ | |
pull_request: | |
types: [closed] | |
push: | |
branches : ["develop"] | |
workflow_dispatch: | |
env: | |
LIGHTSAIL_SSH_KEY: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
LIGHTSAIL_HOST: ${{ secrets.LIGHTSAIL_HOST }} | |
LIGHTSAIL_USERNAME: ubuntu | |
AWS_REGION: ap-northeast-2 | |
#Seoul μ£Όμ | |
permissions: write-all | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: # STEP BY STEP μ€ν | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
#μ‘μ λ΄, κ°μ νκ²½μμμ gradle κΆν λΆμ¬ | |
- name: Grant execute permission for gradlew | |
run: chmod +x gradlew | |
#λΉλ μν | |
- name: Build with Gradle | |
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee | |
with: | |
arguments: build | |
#jar μ€ννμΌμμ± | |
- name: Build the *.jar executable as Gradle | |
uses: actions/upload-artifact@v2 | |
with: | |
name: jarfile | |
path: build/libs/ponnect-0.0.1-SNAPSHOT.jar | |
#νμΌ μ¬λΆνμΈ | |
- name: checkout file list | |
run: ls | |
#AWSμ μ μνλ€. | |
- name: Access AWS | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-region: ${{ env.AWS_REGION }} | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
#AWS μΈμ¦μ λ°νμΌλ‘ μ°μ μ μ κ°λ₯ν μ¬μ©μμΈμ§ νμΈ | |
- name: Check the connection status of AWS Lightsail | |
run: aws configure list | |
#lightsail μΈμ€ν΄μ€ λ΄, Home λλ ν 리μ ssh μ κ·Ό | |
- name: Move executable files from GitHub's virtual environment | |
uses: appleboy/scp-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{ env.LIGHTSAIL_USERNAME }} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
source: build/libs/* | |
strip_components: 1 | |
target: '/home/ubuntu' | |
#κΈ°μ‘΄ λ°°ν¬ μ€μ§ | |
- name: Grant execute permission for stop.sh | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{env.LIGHTSAIL_USERNAME}} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
script: chmod +x stop.sh | |
- name: Stop the running server | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{ env.LIGHTSAIL_USERNAME }} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
script: ./stop.sh | |
#λ°°ν¬ μμ€ν¬λ¦½νΈ λμ μμ± | |
- name: make start.sh | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{ env.LIGHTSAIL_USERNAME }} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
script: echo -e "#!/bin/bash\n | |
export JWT=${{ secrets.JWT}}\n | |
export JWT_EXPIRATION=${{ secrets.JWT_EXPIRATION }} \n | |
export JWT_HEADER=${{ secrets.JWT_HEADER }}\n | |
export BUCKET=${{ secrets.BUCKET }}\n | |
export S3_ACCESS_KEY=${{ secrets.S3_ACCESS_KEY }}\n | |
export S3_SECRETKEY=${{ secrets.S3_SECRETKEY }}\n | |
export SMTP_USERNAME=${{ secrets.SMTP_USERNAME }}\n | |
export SMTP_PW=${{ secrets.SMTP_PW }}\n | |
export DATA_SOURCE_URL=${{ secrets.DATA_SOURCE_URL }}\n | |
export DATA_SOURCE_USERNAME=${{ secrets.DATA_SOURCE_USERNAME }}\n | |
export DATA_SOURCE_PW=${{ secrets.DATA_SOURCE_PW }}\n | |
export DISCORD_WEBHOOK_URL=${{ secrets.DISCORD_WEBHOOK_URL }}\n | |
nohup java -jar ./libs/ponnect-0.0.1-SNAPSHOT.jar > /home/ubuntu/ponnect.log 2>&1 &" > ponnect_start.sh | |
#μμ±λ μ μ€ν¬λ¦½νΈμ μ€ν κΆν λΆμ¬ | |
- name: Grant execute permission for start.sh | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{env.LIGHTSAIL_USERNAME}} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
script: chmod +x ponnect_start.sh | |
#μλ² μμ. | |
- name: Start server | |
uses: appleboy/ssh-action@master | |
with: | |
host: ${{ secrets.LIGHTSAIL_HOST }} | |
username: ${{env.LIGHTSAIL_USERNAME}} | |
key: ${{ secrets.LIGHTSAIL_SSH_KEY }} | |
script: ./ponnect_start.sh | |