You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
GitHub Action
Netlify CLI
1.0.1
This action enables arbitrary actions with the Netlify CLI
This action is a replacement for netlify/actions/cli@master
without the docker layer that incurs an extra 30-50s of runner time (which seems result in an average deploy time of ~1m 30s).
This action usually completes in under a minute (and in best cases, 30s).
NETLIFY_AUTH_TOKEN
- Required The token to use for authentication. Obtain one with the UINETLIFY_SITE_ID
- Optional API site ID of the site you wanna work on Obtain it from the UI
The following outputs will be available from a step that uses this action:
NETLIFY_OUTPUT
, the full stdout from the run of thenetlify
commandNETLIFY_LOGS_URL
, the URL where the logs from the deploy can be foundNETLIFY_DRAFT_URL
, the URL of the draft site that Netlify providesNETLIFY_PROD_URL
, the URL of the "real" site, set only if--prod
was passed
on: [push]
jobs:
publish:
runs-on: ubuntu-latest
steps:
# build your site for deployment... in this case the `public` folder is being deployed
- name: Publish
uses: South-Paw/action-netlify-cli@v1
id: netlify
with:
# be sure to escape any double quotes with a backslash and note that the --json
# flag has been passed when deploying - if you want the outputs to work you'll need to include it
args: 'deploy --json --dir \"./public\" --message \"draft [${{ github.sha }}]\"'
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
# and access outputs in other steps with ${{ steps.netlify.outputs.OUTPUT_ID }}
on: [push]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Start deployment
uses: bobheadxi/deployments@v1
id: deployment
with:
env: production
step: start
# ... steps to build your site for deployment
- name: Deploy to Netlify
uses: South-Paw/action-netlify-cli@v1
id: netlify
with:
args: deploy --json --prod --dir './public' --message 'production [${{ github.sha }}]'
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
- name: Finish deployment
uses: bobheadxi/deployments@v1
if: always()
with:
env: ${{ steps.deployment.outputs.env }}
step: finish
status: ${{ job.status }}
deployment_id: ${{ steps.deployment.outputs.deployment_id }}
env_url: ${{ steps.netlify.outputs.NETLIFY_PROD_URL }}
If you find any, please report them here so they can be squashed.
MIT, see the LICENSE file.