56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
name: build and deploy portfolio
|
|
|
|
on:
|
|
push:
|
|
branches: [ "master" ]
|
|
pull_request:
|
|
branches: [ "master" ]
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: 'Create env file'
|
|
run: |
|
|
touch .env
|
|
echo POSTGRES_HOST=${{ secrets.POSTGRES_HOST }} >> .env
|
|
echo POSTGRES_PORT=${{ secrets.POSTGRES_PORT }} >> .env
|
|
echo POSTGRES_USER=${{ secrets.POSTGRES_USER }} >> .env
|
|
echo POSTGRES_DB=${{ secrets.POSTGRES_DB }} >> .env
|
|
echo POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }} >> .env
|
|
echo SSL_MODE=${{ secrets.SSL_MODE }} >> .env
|
|
- name: Build the Docker image
|
|
run: docker compose build
|
|
- name: Docker push
|
|
run: |
|
|
docker push docker.dariusklein.nl/portfolio
|
|
docker push docker.dariusklein.nl/portfolio-docs
|
|
|
|
publish:
|
|
|
|
needs: build
|
|
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
sparse-checkout: |
|
|
docker-compose.yml
|
|
- name: copy file
|
|
run: mv docker-compose.yml /home/docker/darius/portfolio
|
|
- name: Docker login
|
|
run: docker login docker.dariusklein.nl -u Darius -p ${{ secrets.DOCKER_PASSWORD }}
|
|
- name: Docker pull
|
|
run: |
|
|
cd /home/docker/darius/portfolio
|
|
docker compose pull
|
|
- name: Docker run
|
|
run: |
|
|
cd /home/docker/darius/portfolio
|
|
docker compose up -d
|