Files
roxane/.gitea/workflows/deploy-preprod.yml
Nebulae eacb6dff58
Some checks failed
Deploy Roxane to Preprod / deploy (push) Failing after 29s
fix(deploy-preprod file)
2025-12-21 13:11:40 +01:00

90 lines
2.1 KiB
YAML

name: Deploy Roxane to Preprod
on:
push:
branches:
- release
jobs:
deploy:
runs-on: docker
container:
image: nebulaed/php83-node22
steps:
- name: Install network & SSH tools
run: |
set -e
apt update
apt install -y iproute2 iputils-ping openssh-client git
- name: Show IPv6 network
run: |
ip -6 addr
ip -6 route
- name: Ping IPv6 preprod server
run: |
ping6 -c 3 2a01:e0a:bfe:a8a0::205
- name: Configure SSH
env:
SSH_HOST: ${{ vars.PREPROD_HOST }}
SSH_PORT: ${{ vars.PREPROD_PORT }}
run: |
set -e
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -p "$SSH_PORT" "$SSH_HOST" >> ~/.ssh/known_hosts
case "$SSH_HOST" in
*:*) SSH_HOST_SSH="[$SSH_HOST]" ;;
*) SSH_HOST_SSH="$SSH_HOST" ;;
esac
echo "SSH_HOST_SSH=$SSH_HOST_SSH" >> "$GITEA_ENV"
- name: Deploy Roxane to preprod
env:
SSH_USER: ${{ vars.PREPROD_USER }}
SSH_PORT: ${{ vars.PREPROD_PORT }}
PREPROD_PATH: ${{ vars.PREPROD_PATH }}
run: |
set -e
ssh -o StrictHostKeyChecking=yes \
-p "$SSH_PORT" \
"$SSH_USER@$SSH_HOST_SSH" <<EOF
set -e
cd "$PREPROD_PATH"
echo "Pulling latest Roxane release..."
git fetch origin
git checkout release
git pull origin release
echo "Installing Composer dependencies..."
composer install --no-dev --optimize-autoloader --no-interaction
echo "Building frontend with Vite..."
npm ci
npm run build
echo "Running database migrations..."
php artisan migrate --force
echo "Optimizing Roxane..."
php artisan optimize
echo "Restarting queue workers..."
php artisan queue:restart || true
echo "Roxane deployed successfully to preprod!"
EOF