41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
name: Deploy to Server (Docker)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Build Docker image
|
|
run: docker build -t registry.gocommunity.ru:5000/workshop .
|
|
|
|
- name: List Docker image
|
|
run: docker images
|
|
|
|
- name: Login to registry hub.
|
|
run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000
|
|
|
|
- name: Push Docker image to registry
|
|
run: docker push registry.gocommunity.ru:5000/workshop:latest
|
|
|
|
- name: Push Docker image to registry
|
|
run: echo "Hello there!!"
|
|
|
|
- name: Deploy to server (using docker run or docker-compose)
|
|
uses: appleboy/ssh-action@master
|
|
with:
|
|
host: ${{ secrets.SERVER_HOST }}
|
|
username: ${{ secrets.SERVER_USERNAME }}
|
|
key: ${{ secrets.SERVER_PRIVATE_KEY }}
|
|
script: |
|
|
docker pull <your-docker-registry>/workshop:latest
|
|
docker stop workshop-container || true # Stop existing container if it exists
|
|
docker rm workshop-container || true # Remove existing container if it exists
|
|
docker run -d -p 8080:80 --name workshop-container <your-docker-registry>/workshop:latest
|
|
|