Skip to content

Update azure-webapps-node.yml #17

Update azure-webapps-node.yml

Update azure-webapps-node.yml #17

name: Deploy React (Vite) App to Azure Web App
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x' # Match Azure App Service Node version
cache: 'npm'
- name: Install dependencies and build
run: |
npm ci
npm run build
- name: Create production package.json for Azure
run: |
cat > dist/package.json << 'EOF'
{
"name": "porfolio-production",
"version": "1.0.0",
"engines": {
"node": "18.x",
"npm": "9.x"
},
"scripts": {
"start": "serve -s . -p $PORT"
},
"dependencies": {
"serve": "^14.2.4"
}
}
EOF
- name: Install production dependencies
run: |
cd dist
npm install --only=production
# Verify installation works like in SSH
echo "Verifying serve installation:"
npx serve --version
echo "Testing serve command syntax:"
timeout 5s npm start || echo "Serve test completed successfully"
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: webapp
path: dist
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/download-artifact@v4
with:
name: webapp
- uses: azure/login@v2
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_646B290AC1724693B164CD3D4947B353 }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_BD250A8452F0421B94ECF3BD50BFDC47 }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_A0A3E69559D143F8A11E4E6CD7432251 }}
- uses: azure/webapps-deploy@v3
with:
app-name: 'albertoruiz'
package: .