如何在 Gitlab Pages 中将 PowerShell 与 Gitlab CI 一起使用?

How do I use PowerShell with Gitlab CI in Gitlab Pages?

如何在用于部署到 gitlab 页面的 .gitlab-ci.yml 文件中将 PowerShell commands/scripts 与 Gitlab CI 一起使用?

我正在尝试从 .gitlab-ci.yml 执行 build.ps1 文件,但是当它到达 build.ps1 行时,它给出了一个错误提示 /bin/bash:第 5 行:.build.ps1:找不到命令

我正在尝试使用 PowerShell 脚本转换我的存储库中的文件,并使用 .gitlab-ci.yml

将转换后的文件部署到 gitlab 页面

这是我的代码:

.gitlab.yml

pages:
  stage: deploy
  script:
  - mkdir .public
  - .\build.ps1
  - cp -r * .public
  - mv .public public
  artifacts:
    paths:
    - public
  only:
  - master

我已经找到了解决我自己问题的方法。

解决方案

使用 Gitlab CI 从 gitlab.com 上的 .gitlab-ci.yml 文件到 运行 PowerShell Command/Script ,你需要确保你的 .gitlab-ci.yml 文件的内容如下所示。

注意:下面的 .gitlab-ci.yml 无需在您自己的机器上安装 Gitlab 运行ner 即可运行,并且已经在 http://gitlab.com 网站上进行了测试。

image: philippheuer/docker-gitlab-powershell

pages:
  stage: deploy
  script:
  - mkdir .public
  # run PowerShell Script
  - powershell -File build.ps1
  # run PowerShell Command
  - powershell -Command "Get-Date"
  - cp -r * .public
  - mv .public public
  artifacts:
    paths:
    - public
  only:
  - master

对于在 gitlab CI/CD 中通过 powershell 文件启动 grunt 时遇到问题的任何人,请将此行添加到文件顶部:

$env:path += ";" + (Get-Item "Env:AppData").Value + "\npm"

docker 图像 philippheuer/docker-gitlab-powershell 已过时。 Github 上的来源也被删除。

我在我的 gitlab-ci.yml 中使用了下图 mcr.microsoft.com/powershell:latest 更多可用信息 here

scriptjob:
  stage: script
  image: 
    name: "mcr.microsoft.com/powershell:latest"
  script:
    - pwsh ./myscript.ps1