11

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

我正在尝试从 执行build.ps1文件.gitlab-ci.yml,但是当它到达该build.ps1行时,它会给出错误 消息 /bin/bash: line 5: .build.ps1: command not found

我正在尝试使用 PowerShell 脚本来转换我的仓库中的文件,并将转换后的文件部署到 gitlab 页面使用.gitlab-ci.yml

这是我的代码:

.gitlab.yml

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

3 回答 3

12

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

解决方案

要使用 Gitlab CI 从gitlab.com.gitlab-ci.yml上的文件运行 PowerShell 命令/脚本,您需要确保 .gitlab-ci.yml 文件的内容如下所示。

注意:.gitlab-ci.yml以下内容无需在您自己的机器上安装 Gitlab Runner 即可工作,并且已经在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
于 2017-06-08T07:46:52.480 回答
2

泊坞窗图像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
于 2021-02-07T20:24:40.707 回答
0

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

$env:path += ";" + (Get-Item "Env:AppData").Value + "\npm"
于 2018-07-12T19:00:03.140 回答