diff --git a/.woodpecker.yml b/.woodpecker.yml index 5c5dec5..7737b5f 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -112,27 +112,29 @@ steps: - dev build-and-deploy: - image: *node_image - environment: - NODE_ENV: production - NEXT_TELEMETRY_DISABLED: 1 - SSH_PRIVATE_KEY: - from_secret: ssh_private_key - depends_on: - - install-deps - - lint - - type-check - commands: - - echo "Building production artifacts" - - npm run build - - echo "Build completed" - - ls -la dist/ - - echo "Deploying to production" - - mkdir -p ~/.ssh - - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - - chmod 600 ~/.ssh/id_rsa - - echo "Pre-deployment checks" - - ssh root@139.155.109.62 "echo 'Server connection OK'" + image: node:20-alpine + environment: + NODE_ENV: production + NEXT_TELEMETRY_DISABLED: 1 + SSH_PRIVATE_KEY: + from_secret: ssh_private_key + depends_on: + - install-deps + - lint + - type-check + commands: + - echo "Installing SSH client" + - apk add --no-cache openssh-client rsync + - echo "Building production artifacts" + - npm run build + - echo "Build completed" + - ls -la dist/ + - echo "Deploying to production" + - mkdir -p ~/.ssh + - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa + - chmod 600 ~/.ssh/id_rsa + - echo "Pre-deployment checks" + - ssh root@139.155.109.62 "echo 'Server connection OK'" - ssh root@139.155.109.62 "df -h | grep -E '/$|/home'" - echo "Syncing build artifacts to production server" - rsync -avz --delete dist/ root@139.155.109.62:/home/novalon/docker-app/novalon-website/dist/