cli icon indicating copy to clipboard operation
cli copied to clipboard

Deploy alias cannot find environment variables

Open jonybekov opened this issue 1 year ago • 2 comments

Describe the bug

Hi, there. I have github action that deploys production branch to different alias upon release tag published event. For this alias deploy, I want to use environment variables that are different from my production or branch deployment.

github-action.yml

name: "Deploy POD"

on:
  release:
    types: ["published"]

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Repository checkout
        uses: actions/checkout@v4

      - name: Install Dependencies
        run: npm ci

      - name: Build project
        run: npm run build

      - name: Deploy to Netlify
        id: netlify_deploy
        run: |
          npx netlify deploy \
            --dir dist \
            --site ${{ secrets.NETLIFY_SITE_ID }} \
            --auth ${{ secrets.NETLIFY_API_TOKEN }} \
            --alias pod-1 \
            --message "Pod-1 deploy ${{ github.event.release.tag_name }}"

However, aliased deploy preview is not running properly because it is not reading any environment variable from my netlify site. I’ve tried to add env variables and specify deploy context as “branch deploys” and “custom branch” but both options have failed.

Is there a way to set environment variables for specific deploy alias?

My overall goal is to deploy new instance of production branch with its own environment variables without maintaining git branch

Steps to reproduce

Try to run following github action and check live URL

Configuration

No response

Environment

System: OS: macOS 15.0.1 CPU: (12) arm64 Apple M2 Max Memory: 109.33 MB / 32.00 GB Shell: 5.9 - /bin/zsh Binaries: Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm npmGlobalPackages: netlify-cli: 17.37.0

jonybekov avatar Oct 23 '24 15:10 jonybekov

Having exact same issue. Stuck on older Netlify cli version 17.21.2 for quite some time now. Does anyone know/have a fix or workaround in the meantime so we can update to latest version?

ItsMeDelanoDev avatar Nov 08 '24 12:11 ItsMeDelanoDev

We've found the need to use a similar approach. Our environment variables are defined inside the dashboard which we then refer to as such.

pnpm [email protected] dlx netlify build --context draft

I've tested the command against many tags and I found that the command starts breaking between these versions https://github.com/netlify/cli/compare/v17.33.3..v17.33.4

pnpm [email protected] dlx netlify build --context draft

The build completes, PUBLIC_MY_VARIABLE is pulled from the netlify dashboard👍

pnpm [email protected] dlx netlify build --context draft

src/routes/(app)/+layout.ts (3:9): "PUBLIC_MY_VARIABLE" is not exported by "virtual:env/static/public", imported by "src/routes/(app)/+layout.ts".

The build fails, PUBLIC_MY_VARIABLE is not pulled from the netlify dashboard 👎

BobrImperator avatar Mar 10 '25 12:03 BobrImperator