Установка gitlab-runner на windows с шоколадкой

Я пытаюсь развернуть gitlab-runner в Windows, используя chocolatey.

Я намерен установить gitlab-runner в каталог E:\gitlab-runner, автоматически зарегистрировать бегун и запустить его как службу.

Я выполнил следующую строку:

choco install -y gitlab-runner /InstallDir E:\gitlab-runner /Service   --source https://mynexusproxy/repository/chocolatey-org/

и я получил следующий вывод:

Chocolatey v0.10.11
Installing the following packages:
gitlab-runner;/InstallDir;E:\gitlab-runner;/Service
By installing you accept licenses for the packages.
Progress: Downloading gitlab-runner 11.8.0... 100%

gitlab-runner v11.8.0
gitlab-runner package files install completed. Performing other installation steps.
Using previous gitlab-runner install path: e:\gitlab-runner
Installing x64 bit version
Added C:\ProgramData\chocolatey\bin\gitlab-runner.exe shim pointed to 'e:\gitlab-runner\gitlab-runner.exe'.
 The install of gitlab-runner was successful.
  Software install location not explicitly set, could be in package or
  default install location if installer.
Second path fragment must not be a drive or UNC name.
Parameter name: path2

gitlab-runner.exe корректно скачивается в E:\gitlab-runner но регистрация не делается и служба не создается. Также в E:\gitlab-runner загружается файл register_example.ps1.

Что не так с моей процедурой установки? Нужно ли мне изменять register_example.ps1 с помощью пользовательских значений?


person Nicolas Pepinster    schedule 27.02.2019    source источник
comment
Можете ли вы показать точную команду установки, которую вы пытаетесь использовать?   -  person Gary Ewan Park    schedule 27.02.2019
comment
извините, я забыл эту часть в своем посте. Я отредактировал его.   -  person Nicolas Pepinster    schedule 27.02.2019


Ответы (2)


К сожалению, этот конкретный пакет не предоставляет в описании пример, показывающий, как правильно передавать параметры пакета. Однако вы можете найти дополнительную информацию и примеры того, как это сделать здесь:

https://chocolatey.org/docs/how-to-parse-package-parameters-argument

Я полагаю, вам понадобится команда, подобная следующей:

choco install -y gitlab-runner --params="'/InstallDir=E:\gitlab-runner /Service'"   --source https://mynexusproxy/repository/chocolatey-org/

В противном случае параметры, которые вы пытаетесь передать, будут просто проигнорированы.

person Gary Ewan Park    schedule 27.02.2019
comment
Я получил ошибку во время установки службы: Installing gitlab-runner service ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Runtime platform The install of gitlab-runner was NOT successful. Error while running 'C:\ProgramData\chocolatey\lib\gitlab-runner\tools\chocolateyInstall.ps1'. - person Nicolas Pepinster; 27.02.2019
comment
Вы можете поделиться файлом журнала? - person Gary Ewan Park; 27.02.2019
comment
журнал в C:\ProgramData\chocolatey\logs\chocolatey.log ссылается на другой журнал 2019-02-27 16:58:23,765 6656 [ERROR] - - gitlab-runner (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\gitlab-runner\tools\chocolateyInstall.ps1'. See log for details.. Вы знаете, в каком журнале я могу увидеть более подробную информацию? - person Nicolas Pepinster; 28.02.2019

Команда, предоставленная @Gary Ewan Park, хороша, но ее недостаточно для полного управления установкой gitlab-runner в Windows.

Процесс установки

  1. Установите gitlab-runner с шоколадным

    choco install -y gitlab-runner --params="'/InstallDir=E:\gitlab-runner /Service'"   --source https://mynexusproxy/repository/chocolatey-org/
    

    он загрузит exe в E:\gitlab-runner directory, создаст службу gitlab-runner и создаст register_example.ps1 в том же каталоге.

  2. Измените register_example.ps1 на желаемое значение и переименуйте его в register.ps1.

  3. Выполните register.ps1, чтобы зарегистрировать бегун на вашем сервере Gitlab. Он также создаст config.toml в каталоге, где вы выполняете скрипт register.ps1.

  4. По умолчанию путь к исполняемому файлу службы gitlab-runner:

    E:\gitlab-runner\gitlab-runner.exe run --working-directory C:\Windows\system32 --config C:\Windows\system32\config.toml --service gitlab-runner --syslog 
    

    что не было хорошо для меня. Чтобы изменить путь к исполняемому файлу в командной строке, см. этот thread.

    После этого служба запущена, а бегун правильно зарегистрирован на сервере Giltab.

Процедура обновления

  1. остановить службу gitlab-runner (в противном случае шоколадный сбой, потому что он не может создать файл, когда этот файл уже существует)

  2. выполнить обновление с шоколадным

    choco upgrade -y gitlab-runner --source https://mynexusproxy/repository/chocolatey-org/
    
  3. запустить службу gitlab-runner

person Nicolas Pepinster    schedule 13.03.2019
comment
Я удивлен, что требуется ручной шаг для остановки службы. Об этом следует позаботиться из-за содержимого файла ChocolateyBeforeModify.ps1 в пакете. - person Gary Ewan Park; 13.03.2019