Skip to content

Move to server.js

Move to server.js #26

name: Deploy React (Vite) App to Azure Web App
on:
push:
branches:
- main
workflow_dispatch:
# Add explicit permissions for Azure OIDC
permissions:
id-token: write
contents: read
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: Clean install dependencies
run: |
npm cache clean --force
rm -f package-lock.json
rm -rf node_modules
npm install
- name: Build application
run: 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": "20.x",
"npm": "10.x"
},
"scripts": {
"start": "npx [email protected] -s . -p $PORT"
}
}
EOF
- name: Verify build output
run: |
cd dist
echo "Build output verification:"
ls -la
echo "Package.json content:"
cat package.json
- name: Upload artifact (contents of dist folder only)
uses: actions/upload-artifact@v4
with:
name: webapp
path: dist/
deploy:
runs-on: ubuntu-latest
needs: build
permissions:
id-token: write
contents: read
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: webapp
path: .
- name: Verify deployment package
run: |
echo "Deployment package contents:"
ls -la
echo "Package.json:"
cat package.json
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_646B290AC1724693B164CD3D4947B353 }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_BD250A8452F0421B94ECF3BD50BFDC47 }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_A0A3E69559D143F8A11E4E6CD7432251 }}
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v3
with:
app-name: 'albertoruiz'
slot-name: 'Production'
package: .