Skip to content

.github/workflows/action.yml #164

.github/workflows/action.yml

.github/workflows/action.yml #164

Workflow file for this run

on:
push:
branches:
- master
schedule:
- cron: '0 */12 * * *' # Runs every day at 00:00 UTC
workflow_dispatch:
jobs:
build:
name: Build, push
runs-on: ubuntu-latest
steps:
- name: Checkout master
uses: actions/checkout@master
- name: Build container image
run: docker build -t rafaelgss/projects:blog-latest -f prod.dockerfile .
- name: Docker Login
env:
DOCKER_USERNAME: rafaelgss
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- name: Push image to Docker Hub
run: docker push rafaelgss/projects:blog-latest
deploy:
needs: build
name: Deploy
runs-on: ubuntu-latest
steps:
- name: executing remote ssh commands using key
uses: appleboy/ssh-action@master
env:
VIRTUAL_HOST: 'blog.rafaelgss.com.br'
SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.key }}
port: ${{ secrets.PORT }}
envs: VIRTUAL_HOST,SECRET_KEY_BASE,DATABASE_URL
script: |
docker pull rafaelgss/projects:blog-latest
docker kill blog_prod || true
docker rm blog_prod || true
docker run -d -p 4000:4000 --name blog_prod -e VIRTUAL_HOST="$VIRTUAL_HOST" -e SECRET_KEY_BASE="$SECRET_KEY_BASE" -e PHX_SERVER="true" -t rafaelgss/projects:blog-latest