Skip to content

package: 패키지 업데이트 #81

package: 패키지 업데이트

package: 패키지 업데이트 #81

name: Deploy to Server
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Log in to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Build Docker image
run: |
docker build \
-t ${{ secrets.DOCKER_USERNAME }}/papermania-server:latest \
-f PaperMania/Server/Dockerfile \
PaperMania/Server
- name: Push Docker image
run: docker push ${{ secrets.DOCKER_USERNAME }}/papermania-server:latest
- name: Deploy to server via SSH
uses: appleboy/ssh-action@v0.1.10
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
port: ${{ secrets.SSH_PORT }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
docker pull ${{ secrets.DOCKER_USERNAME }}/papermania-server:latest
docker stop papermania-server || true
docker rm papermania-server || true
docker run -d \
--name papermania-server \
--restart unless-stopped \
--network papermania-net \
-p 29489:80 \
-e ASPNETCORE_URLS=http://+:80 \
-e ASPNETCORE_ENVIRONMENT=Production \
-e AZURE_CLIENT_ID=${{ secrets.AZURE_CLIENT_ID }} \
-e AZURE_CLIENT_SECRET=${{ secrets.AZURE_CLIENT_SECRET }} \
-e AZURE_TENANT_ID=${{ secrets.AZURE_TENANT_ID }} \
${{ secrets.DOCKER_USERNAME }}/papermania-server:latest
sleep 5
docker ps | grep papermania-server
docker logs papermania-server --tail 20