У меня есть случай, когда я хочу запустить Redis Server из файла .gitlab-ci.yml.
Это мой упрощенный код:
stages:
- build_deploy
deploy_qa:
stage: build_deploy
tags:
- windows
script:
- 'cd c:\PsTools'
#port number:1111, password: xxx, server: developmentServer"
- 'pstools-start-redis-server 1111 xxx developmentServer'
#- do something else here after .bat executes
environment:
name: developmentServer
url: http://someUrl
when: manual
Он запускает скрипт pstools-start-redis-server.bat, расположенный на сервере Gitlab CI (Windows):
:SetVars
set _pwd=%2%
set _port=%1%
set _server=%3%
:Main
PsExec \\%_server% -d -accepteula -w c:\Redis c:\Redis\start-redis-server.bat %_port% "%_pwd%"
EXIT 0
Который затем использует psexec для запуска сценария start-redis-server.bat на сервере разработки (Windows), где находится Redis.
:SetVars
set _pwd=%2%
set _port=%1%
:Main
redis-server --port %_port% --requirepass %_pwd%
EXIT 0
Теперь моя проблема заключается в том, что после запуска сценария start-redis-server.batGitlab заканчивает информацией «Задание выполнено успешно», и ни одно из действий, определенных позже, не происходит.
Running with gitlab-runner 11.7.0 (8bb608ff)
on CISERVER fdbb21ea
Using Shell executor...
Running on CISERVER...
Fetching changes...
HEAD is now at e9bd103 Update .gitlab-ci.yml
Checking out e9bd103c as AC-641-qa-e2e-webapi-pipeline-fail...
Skipping Git submodules setup
$ cd c:\PsTools
$ pstools-start-redis-server 1111 xxx developmentServer
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Connecting to developmentServer...
Starting PSEXESVC service on developmentServer...
Connecting with PsExec service on developmentServer...
Starting c:\Redis\start-redis-server.bat on developmentServer...
c:\Redis\start-redis-server.bat started on developmentServer with process ID 6244.
Job succeeded
Теперь я прочитал, что использование команды call необходимо при запуске сценариев .bat в Windows, и япопробовал, но, возможно, я делаю это неправильно, потому что это все еще не работает.Любая помощь будет оценена.
С уважением.