title: Use of artifacts in azure github action for nodejs
body: <p>When we connect Github with Azure for automatic nodejs release to azure web app service, we see workflow created for the build and release in .github/workflows.</p>
  <p>There we see artifact uploading and downloading again in two separate jobs namely <code>build</code>, <code>deploy</code>.</p>
  <pre><code># Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
  # More GitHub Actions for Azure: https://github.com/Azure/actions
  
  name: Build and deploy Node.js app to Azure Web App - nestjs
  
  on:
    push:
      branches:
        - master
    workflow_dispatch:
  
  jobs:
    build:
      runs-on: ubuntu-latest
  
      steps:
      - uses: actions/checkout@v2
  
      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'
  
      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm run test --if-present
      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: node-app
          path: .
  
    deploy:
      runs-on: ubuntu-latest
      needs: build
      environment:
        name: 'production'
        url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
  
      steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: node-app
  
      - name: 'Deploy to Azure Web App'
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: '**'
          slot-name: '**'
          publish-profile: ${{ ** }}
          package: .
  </code></pre>
  <p>Here I don't understand why we need to upload and download artifact? Why can't we directly publish the build without involving artifacts here?</p>
  <p>I have modified the workflow as follows:</p>
  <pre><code># Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
  # More GitHub Actions for Azure: https://github.com/Azure/actions
  
  name: Build and deploy Node.js app to Azure Web App - nestjs
  
  on:
    push:
      branches:
        - master
    workflow_dispatch:
  
  jobs:
    build:
      runs-on: ubuntu-latest
      environment:
        name: 'production'
        url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
      steps:
      - uses: actions/checkout@v2
  
      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: '14.x'
  
      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm run test --if-present
          
      - name: 'Deploy to Azure Web App'
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: '**'
          slot-name: '**'
          publish-profile: ${{ *** }}
          package: .
  </code></pre>
  <p>The above modification worked fine and saved my actions minutes due to artifacts.</p>