簡體   English   中英

在 Gitlab (Windows, yml) 上設置 CI/CD 管道

[英]Setting up CI/CD pipeline on Gitlab (Windows, yml)

我正在嘗試在 gitlab 上為我的 electron 應用程序設置 CI/CD 管道。 gitlab-runner 安裝在 windows 機器上,目前在線。 在代碼庫中,yml 文件放在根文件夾中。 管道啟動,runner 和 gitlab 之間有連接。 我在尋找 npm 時遇到了問題。 雖然 nodejs 和 npm 安裝在 C:\Program Files\nodejs 中,但我仍然在 shell 執行程序上收到錯誤。

.gitlab-ci.yml

   stages:
  - build

build:
  stage: build
  tags:
    - BuildServerTag
  before_script:
    - SET PATH=$c/PROGRA~1/nodejs/
  script:
    - echo "Hello World"
    - npm -v

錯誤:npm:術語“npm”未被識別為 cmdlet、function、腳本文件或可運行程序的名稱。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確並重試。

我嘗試了以下方法:

  1. 將 C:\Program Files\nodejs 設置為運行器上的系統環境變量。
  2. 在 yml 文件中使用 SET Path
  3. 在 yml 文件中使用 npm 的完整路徑

由於您使用的是 powershell,因此您可以像這樣更改 PATH:


script:
  # check that the files are actually there
  - dir "C:\Program Files\nodejs"
  # append nodejs onto PATH
  - '$env:Path += ";C:\Program Files\nodejs"'

還要確保您的 NodeJS 二進制文件實際上位於C:\Program Files\nodejs (如果您使用官方安裝程序,IIRC 這是默認設置)而不是像nodejs\bin這樣的子目錄,如果您使用第三方工具可能會出現這種情況用於安裝 nodejs。

您工作中的dir C:\Program Files\nodejs的 output 應該會產生如下內容:

    Directory: C:\Program Files\nodejs


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          6/5/2021   9:10 PM                node_modules
-a----         5/11/2021   5:44 PM           3032 install_tools.bat
-a----         5/11/2021   6:03 PM       56742536 node.exe
-a----         4/27/2020   8:13 PM            702 nodevars.bat
-a----         4/27/2020   8:13 PM           8997 node_etw_provider.man
-a----         5/11/2021   5:44 PM            930 npm
-a----         5/11/2021   5:44 PM            483 npm.cmd
-a----         5/11/2021   5:44 PM            922 npx
-a----         5/11/2021   5:44 PM            539 npx.cmd

您還需要檢查您的PathExt變量包括.exe (執行node )和.cmd執行(執行npm )。 默認情況下是這種情況,因此如果您沒有修改PathExt則無需執行任何操作。

或者,您可以使用npm的完整路徑,包括.cmd擴展:

script:
  - 'C:\Progra~1\nodejs\npm.cmd -v'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM