name: Deploy production on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Deploy auf stechuhr3 env: DEPLOY_HOST: ${{ secrets.TIMECLOCK_DEPLOY_HOST }} DEPLOY_USER: ${{ secrets.TIMECLOCK_DEPLOY_USER }} DEPLOY_SSH_PRIVATE_KEY: ${{ secrets.TIMECLOCK_DEPLOY_SSH_PRIVATE_KEY }} DEPLOY_SSH_KNOWN_HOSTS: ${{ secrets.TIMECLOCK_DEPLOY_SSH_KNOWN_HOSTS }} run: | set -eu test -n "$DEPLOY_HOST" || { echo "TIMECLOCK_DEPLOY_HOST fehlt"; exit 1; } test -n "$DEPLOY_USER" || { echo "TIMECLOCK_DEPLOY_USER fehlt"; exit 1; } test -n "$DEPLOY_SSH_PRIVATE_KEY" || { echo "TIMECLOCK_DEPLOY_SSH_PRIVATE_KEY fehlt"; exit 1; } test -n "$DEPLOY_SSH_KNOWN_HOSTS" || { echo "TIMECLOCK_DEPLOY_SSH_KNOWN_HOSTS fehlt"; exit 1; } echo "Deploy-Ziel: $DEPLOY_USER@$DEPLOY_HOST" install -d -m 700 "$HOME/.ssh" printf '%s\n' "$DEPLOY_SSH_PRIVATE_KEY" > "$HOME/.ssh/id_ed25519" chmod 600 "$HOME/.ssh/id_ed25519" printf '%s\n' "$DEPLOY_SSH_KNOWN_HOSTS" > "$HOME/.ssh/known_hosts" chmod 600 "$HOME/.ssh/known_hosts" echo "Deploy-Key-Fingerprint: $(ssh-keygen -y -f "$HOME/.ssh/id_ed25519" | ssh-keygen -lf - | awk '{print $2}')" echo "known_hosts-Zeilen: $(wc -l < "$HOME/.ssh/known_hosts")" ssh -o BatchMode=yes "$DEPLOY_USER@$DEPLOY_HOST" \ 'cd /var/www/timeclock && ./deploy-production.sh'