Skip to content
This action make a deployment with github actions instead of ZEIT Now builder.
JavaScript TypeScript HTML CSS
Use this GitHub Action with your project

Add this Action to an existing workflow or create a new one.

View on Marketplace
Branch: master
Clone or download
Pull request Compare This branch is 49 commits ahead, 4 commits behind iam4x:master.

README.md

ZEIT Now Deployment

ZEIT Now is a cloud platform for static sites and Serverless Functions

This action make a ZEIT Now deployment with github actions.

  • Deploy to ZEIT now.
  • Comment on pull request.
  • Comment on commit.
  • Create Deployment on github.

Result

preview

pull request example

commit

Inputs

Name Required Default Description
zeit-token [x] ZEIT now token.
zeit-team-id [ ] if your deployment is made on team project and github-comment is true. example: team_asdf1234
github-comment [ ] true if you don't want to comment on pull request.
github-token [ ] if you want to comment on pull request.
now-args [ ] This is optional args for now cli. Example: --prod
working-directory [ ] the working directory
now-project-id [x] ❗️Now CLI 17+,The name property in now.json is deprecated (https://zeit.ink/5F)
now-org-id [x] ❗️Now CLI 17+,The name property in now.json is deprecated (https://zeit.ink/5F)

Outputs

preview-url

The url of deployment preview.

Example Usage

Disable ZEIT Now for GitHub

The ZEIT Now for GitHub integration automatically deploys your GitHub projects with ZEIT Now, providing Preview Deployment URLs, and automatic Custom Domain updates. link

We would like to to use github actions for build and deploy instead of ZEIT Now.

Set github.enabled: false in now.json

{
  "version": 2,
  "public": false,
  "github": {
    "enabled": false
  },
  "builds": [
    { "src": "./public/**", "use": "@now/static" }
  ],
  "routes": [
    { "src": "/(.*)", "dest": "public/$1" }
  ]
}

When set to false, ZEIT Now for GitHub will not deploy the given project regardless of the GitHub app being installed.

now.json Example:

{
  "name": "zeit-now-deployment",
  "version": 2,
  "scope": "amond",
  "public": false,
  "github": {
    "enabled": false
  },
  "builds": [
    { "src": "./public/**", "use": "@now/static" }
  ],
  "routes": [
    { "src": "/(.*)", "dest": "public/$1" }
  ]
}

Project Linking

You should link a project via Now CLI in locally.

When running now in a directory for the first time, Now CLI needs to know which scope and Project you want to deploy your directory to. You can choose to either link an existing project or to create a new one.

NOTE: Project linking requires at least version 17 of Now CLI. If you have an earlier version, please update to the latest version.

now
? Set up and deploy “~/web/my-lovely-project”? [Y/n] y
? Which scope do you want to deploy to? My Awesome Team
? Link to existing project? [y/N] y
? What’s the name of your existing project? my-lovely-project
🔗 Linked to awesome-team/my-lovely-project (created .now and added it to .gitignore)

Once set up, a new .now directory will be added to your directory. The .now directory contains both the organization(now-org-id) and project(now-project-id) id of your project.

{"orgId":"example_org_id","projectId":"example_project_id"}

Github Actions

  • This is a complete .github/workflow/deploy.yml example.

Set the now-project-id and now-org-id you found above.

name: deploy website
on: [pull_request]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: amondnet/now-deployment@v2
        with:
          zeit-token: ${{ secrets.ZEIT_TOKEN }} # Required
          github-token: ${{ secrets.GITHUB_TOKEN }} #Optional 
          zeit-team-id: team_XXXXXXXXXXX #Optional 
          now-args: '--prod' #Optional
          now-org-id: 'example_org_id' #Required
          now-project-id: 'example_project_id' #Required 
          working-directory: ./sub-directory

Agnular Example

See .github/workflow/example-angular.yml ,

You can’t perform that action at this time.