comprofix.com/.gitea/workflows/build.yml

80 lines
2.1 KiB
YAML
Raw Permalink Normal View History

2024-09-21 14:07:19 +10:00
on: push
jobs:
2024-10-13 15:13:06 +10:00
build-jeykll:
2024-09-22 11:55:45 +10:00
runs-on: ubuntu-latest
2024-09-21 14:07:19 +10:00
steps:
2024-10-13 15:13:06 +10:00
- name: Checkout
2024-09-21 14:07:19 +10:00
uses: actions/checkout@v4
2024-10-13 15:13:06 +10:00
- name: Install Ruby
run: |
apt-get update
apt-get -y install build-essential ruby-full zlib1g-dev
- name: Setup Ruby Path
run: |
export GEM_HOME="$HOME/gems
export PATH="$HOME/gems/bin:$PATH
- name: Setup Jekyll
run: |
gem install jekyll bundler
bundle install
- name: Build with Jekyll
run: |
bundle exec jekyll build
env:
JEKYLL_ENV: production
- uses: actions/upload-artifact@v3
with:
name: comprofix_site
path: _site
build-docker:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
needs: build-jeykll
steps:
- uses: actions/download-artifact@v3
with:
name: comprofix_site
2024-09-21 14:07:19 +10:00
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
registry: git.comprofix.com
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
2024-10-13 15:13:06 +10:00
2024-09-21 14:07:19 +10:00
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./
file: ./Dockerfile
push: true
2024-09-21 14:09:53 +10:00
tags: git.comprofix.com/mmckinnon/comprofix.com:latest
2024-10-13 15:13:06 +10:00
2024-09-21 14:07:19 +10:00
publish:
2024-09-22 11:55:45 +10:00
runs-on: ubuntu-latest
2024-10-13 15:13:06 +10:00
needs: build-docker
2024-09-21 14:07:19 +10:00
steps:
- name: checkout repo
uses: actions/checkout@v4
- name: Publish Website
run: |
mkdir ~/.ssh
echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add <(echo "${{ secrets.SSH_PRIVATE_KEY }}")
ssh administrator@comprofix.com "cd /opt/comprofix; docker compose down" || true
scp docker-compose.yml administrator@comprofix.com:/opt/comprofix
ssh administrator@comprofix.com "cd /opt/comprofix; docker compose pull; docker compose up -d"