Как использовать PowerShell с Gitlab CI в Gitlab Pages?

Как использовать команды/скрипты PowerShell с Gitlab CI в файле .gitlab-ci.yml, который используется для развертывания на страницах gitlab?

Я пытаюсь выполнить файл build.ps1 из .gitlab-ci.yml, но когда он достигает строки build.ps1, выдается сообщение об ошибке /bin/bash: строка 5: .build.ps1: команда не найдена

Я пытаюсь использовать сценарий 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

person Ishan    schedule 02.06.2017    source источник
comment
Я использовал это, и это работало без каких-либо проблем. Powershell GitLab-part3. Вы можете пройти все части, чтобы иметь полное представление об этом.   -  person Ranadip Dutta    schedule 02.06.2017
comment
Я прошел 5 руководств на их веб-сайте, но для этого требуется установить средство запуска Windows на свой компьютер и провести значительную настройку, прежде чем оно, вероятно, заработает. Почему вам нужно установить раннер на свой компьютер, чтобы он работал. Раньше, когда я использовал gitlab ci с .gitlab-ci.yml, мне не нужно было устанавливать какое-либо приложение на свою машину. Статический веб-сайт, созданный с помощью другого генератора статики на gitlab.com/pages, является примером того, что вы могли бы просто разветвите репо, чтобы разместить свой собственный веб-сайт с использованием страниц gitlab   -  person Ishan    schedule 02.06.2017


Ответы (3)


Я смог найти решение своего собственного вопроса.

Решение

Чтобы запустить команду/скрипт PowerShell из файла .gitlab-ci.yml на gitlab.com с помощью Gitlab CI, вам необходимо убедиться, что содержимое вашего файла .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
person Ishan    schedule 08.06.2017

Образ докера philippheuer/docker-gitlab-powershell устарел. Исходник на Github также был удален.

Я использую в своем gitlab-ci.yml следующее изображение mcr.microsoft.com/powershell:latest дополнительная информация доступна здесь

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

Для тех, у кого возникли проблемы с запуском grunt в их gitlab CI/CD через файл powershell, добавьте эту строку в начало вашего файла:

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