31 lines
844 B
YAML
31 lines
844 B
YAML
name: Auto Deploy Flask with Docker
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4 # Update to the latest version of checkout action
|
|
|
|
- name: Log in to Docker (optional, if using a registry)
|
|
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
|
if: env.DOCKER_REGISTRY # Only run if you push to a registry
|
|
|
|
- name: Build Docker image
|
|
run: docker build --no-cache -t flask-app:latest .
|
|
|
|
- name: Stop and remove old container
|
|
run: |
|
|
docker stop flask-app || true
|
|
docker rm flask-app || true
|
|
|
|
- name: Run new container
|
|
run: |
|
|
docker run -d -p 5000:5000 --name flask-app flask-app:latest
|