GitLab access_token for Vercel missing value in gitlab-cy.yml

Problem to solve

I’ve a self-managed GitLab with a repo linked to Vercel through .gitlab-cy.yml following this guide Gitlab Pipeline with Vercel. I added in GitLab CI/CD variables VERCEL_TOKEN , VERCEL_ORG_ID and VERCEL_PROJECT_ID created following the mentioned guide. Now when I commit something the pipeline starts but it fails with this error: Error: You defined "--token", but it's missing a value, basically the token variable inside the .gitlab-cy.yml is not recognized.

Here the complete log:

Using Shell (bash) executor...

[5](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L5)Preparing environment00:00

[6](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L6)Running on Emanueles-MBP.localdomain...

[7](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L7)Getting source from Git repository00:01

[8](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L8)Fetching changes with git depth set to 20...

[9](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L9)Reinitialized existing Git repository in /Users/emanuele/builds/1zrv174KW/0/plesk/arkage/thearkage-payload-v3.0/.git/

[10](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L10)Checking out 7c1903d2 as detached HEAD (ref is gitlab-ci-yml)...

[11](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L11)Skipping Git submodules setup

[12](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L12)Executing "step_script" stage of the job script00:12

[13](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L13)$ npm install --global vercel

[14](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L14)npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.

[15](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L15)npm warn deprecated npmlog@5.0.1: This package is no longer supported.

[16](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L16)npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported

[17](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L17)npm warn deprecated are-we-there-yet@2.0.0: This package is no longer supported.

[18](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L18)npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported

[19](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L19)npm warn deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)

[20](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L20)npm warn deprecated gauge@3.0.2: This package is no longer supported.

[21](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L21)npm warn deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.

[22](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L22)changed 247 packages in 11s

[23](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L23)17 packages are looking for funding

[24](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L24) run `npm fund` for details

[25](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L25)$ vercel pull --yes --environment=preview --token=$VERCEL_TOKEN

[26](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L26)(node:42077) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.

[27](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L27)(Use `node --trace-deprecation ...` to show where the warning was created)

[28](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L28)(node:42077) [DEP0060] DeprecationWarning: The `util._extend` API is deprecated. Please use Object.assign() instead.

[29](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L29)Vercel CLI 37.5.4

[30](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L30)Error: You defined "--token", but it's missing a value

[31](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L31)Learn More: https://err.sh/vercel/missing-token-value

[32](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L32)Cleaning up project directory and file based variables00:00

[33](https://gitlab.arkage.it/plesk/arkage/thearkage-payload-v3.0/-/jobs/27#L33)ERROR: Job failed: exit status 1

Here my .gitlab-ci.yml:

default:
  image: node:20.10.0

deploy_preview:
  stage: deploy
  except:
    - main
  script:
    - npm install --global vercel
    - vercel pull --yes --environment=preview --token=$VERCEL_TOKEN
    - vercel build --token=$VERCEL_TOKEN
    - vercel deploy --prebuilt  --token=$VERCEL_TOKEN

deploy_production:
  stage: deploy
  only:
    - main
  script:
    - npm install --global vercel
    - vercel pull --yes --environment=production --token=$VERCEL_TOKEN
    - vercel build --prod --token=$VERCEL_TOKEN
    - vercel deploy --prebuilt --prod --token=$VERCEL_TOKEN

Versions

Self-managed

Anyone has facing the same issue? How I can solve this problem?

Thanks in advance

Ok edit. This works for me. When you create your variable, untick ‘Protect variable’ OR of course protect the branch.

I’m having pretty much the same issue though the deployments themselves are working fine, I just get the error No existing credentials found. Please run vercel login or pass "--token". Even echoing the token is empty.

It’s frustrating because we get build failed emails even though it’s deployed to Vercel.