chore : network 연결 #13
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: Dev action | |
on: | |
push: | |
branches: [ "dev" ] | |
pull_request: | |
branches: [ "dev" ] | |
jobs: | |
build: | |
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 YML | |
run: | | |
echo "${{ secrets.APPLICATION_YML }}" | base64 --decode > src/main/resources/application.yml | |
- name: Set firebase | |
run: | | |
echo "${{ toJson(secrets.FIREBASE_JSON) }}" > src/main/resources/firebase.json | |
cat src/main/resources/firebase.json | |
- name: Build with Gradle Wrapper | |
run: ./gradlew build -x test | |
- name: Upload artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: cicdsample | |
path: build/libs/*.jar | |
- name: docker image build | |
run: docker build . --file Dockerfile --tag ${{ secrets.DOCKERHUB_USERNAME }}/eum-dev:auth | |
# DockerHub Login (push 하기 위해) | |
- name: docker login | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
# Docker hub 로 push | |
- name: Docker Hub push | |
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/eum-dev:auth | |
deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v2 | |
with: | |
name: cicdsample | |
- name: Login to Docker Hub | |
run: sudo docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Deploy | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.DEV_SSH_IP }} | |
username: ${{ secrets.DEV_SSH_USER }} | |
key: ${{ secrets.DEV_SSH_PASSWORD }} | |
port: 22 | |
script: | | |
sudo docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }} | |
if [ $(sudo docker ps -q -f name=auth) ]; then | |
sudo docker stop auth | |
sudo docker rm auth | |
fi | |
sudo docker pull ${{ secrets.DOCKERHUB_USERNAME }}/eum-dev:auth | |
sudo docker run -d --restart always -p 8081:8081 --network root_eum_network --name auth ${{ secrets.DOCKERHUB_USERNAME }}/eum-dev:auth | |
sudo docker image prune -f | |
ps -ef | grep java |