Files
iac/.gitea/workflows/deploy.yaml
Melchior Reimers 9ee0dcb874
All checks were successful
Deployment / deploy-docker (push) Successful in 7s
fixed eof
2026-02-04 13:18:04 +01:00

51 lines
1.6 KiB
YAML

name: Deployment
on:
push:
branches:
- main
jobs:
deploy-docker:
runs-on: ubuntu-latest
steps:
- name: Deploy via SSH
uses: appleboy/ssh-action@v0.1.10
with:
host: 172.17.0.1
username: root
key: ${{ secrets.SSH_PRIVATE_KEY }}
# Wir übergeben die Secrets als Environment-Variablen an den SSH-Befehl
envs: HETZNER_TOKEN
script: |
mkdir -p /root/iac
cd /root/iac
# Repository aktualisieren
if [ ! -d ".git" ]; then
git clone https://git.bana.space/krumbelfix/iac.git .
else
git pull origin main
fi
# Sicherstellen, dass die Datei existiert
mkdir -p ./hetzner
touch ./hetzner/terraform.tfvars
# Token suchen und ersetzen oder hinzufügen
# Wir nutzen doppelte Anführungszeichen für den Bash-String und
# einfache für den sed-Befehl, um Konflikte zu vermeiden.
if grep -q "hcloud_token =" ./hetzner/terraform.tfvars; then
sed -i "s|^hcloud_token =.*|hcloud_token = \"${HETZNER_TOKEN}\"|" ./hetzner/terraform.tfvars
else
echo "hcloud_token = \"${HETZNER_TOKEN}\"" >> ./hetzner/terraform.tfvars
fi
# Terraform
terraform init
terraform plan
terraform apply -auto-approve
echo "Deployment successful"
env:
HETZNER_TOKEN : ${{ secrets.HETZNER_TOKEN }}