Files
mb-grid-solutions.com/.gitea/workflows/deploy.yml
Marc Mintel dfb00c9ef2
Some checks failed
Deploy / deploy (push) Failing after 30s
ci
2026-01-16 11:19:06 +01:00

70 lines
1.9 KiB
YAML

name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: docker
env:
PROJECT_NAME: mb-grid-solutions
TARGET_HOST: alpha.mintel.me
TARGET_USER: deploy
TARGET_BASE: /home/deploy/sites
steps:
- name: Install tools
run: |
apt-get update
apt-get install -y git docker.io openssh-client rsync
- name: Checkout repository
run: |
git clone https://git.infra.mintel.me/mmintel/mb-grid-solutions.com.git .
git checkout main
- name: Login to registry
env:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }}
run: |
echo "$REGISTRY_PASS" | docker login registry.infra.mintel.me \
-u "$REGISTRY_USER" --password-stdin
- name: Build image
run: |
docker build -t registry.infra.mintel.me/mintel/mb-grid-solutions:latest .
- name: Push image
run: |
docker push registry.infra.mintel.me/mintel/mb-grid-solutions:latest
- name: Setup SSH
env:
ALPHA_SSH_KEY: ${{ secrets.ALPHA_SSH_KEY }}
run: |
mkdir -p ~/.ssh
echo "$ALPHA_SSH_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H $TARGET_HOST >> ~/.ssh/known_hosts
- name: Ensure target directory exists
run: |
ssh $TARGET_USER@$TARGET_HOST "mkdir -p $TARGET_BASE/$PROJECT_NAME"
- name: Sync compose file
run: |
rsync -avz \
infra/docker-compose.yml \
$TARGET_USER@$TARGET_HOST:$TARGET_BASE/$PROJECT_NAME/docker-compose.yml
- name: Deploy
run: |
ssh $TARGET_USER@$TARGET_HOST "
cd $TARGET_BASE/$PROJECT_NAME &&
docker compose pull &&
docker compose up -d
"