GitLab: Runner (Windows): Unterschied zwischen den Versionen

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „ == Install GitLab-Runner on Windows as a Windows service == #Create a folder somewhere in your system, ex.: C:\GitLab-Runner. #Download the binary and put it…“)
 
(14 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
  
 
== Install GitLab-Runner on Windows as a Windows service ==
 
== Install GitLab-Runner on Windows as a Windows service ==
#Create a folder somewhere in your system, ex.: C:\GitLab-Runner.
+
*Create a folder somewhere in your system, ex.: C:\GitLab-Runner.
#Download the binary and put it into the folder you created. Rename the binary to gitlab-runner.exe.
+
*Download the binary and put it into the folder you created. Rename the binary to gitlab-runner.exe.
#Run an elevated command prompt.
+
*Run an elevated command prompt.
#Install the Runner as a service and start it. ''You can either run the service using the Built-in System Account (recommended) or using a user account.''
+
*Install the Runner as a service and start it. ''You can either run the service using the Built-in System Account (recommended) or using a user account.''
*Run service using Built-in System Account:
+
**'''Run service using Built-in System Account:'''
 
  .\gitlab-runner.exe install
 
  .\gitlab-runner.exe install
 
  .\gitlab-runner.exe start
 
  .\gitlab-runner.exe start
 
+
*'''Run service using user account:'''
*Run service using user account:
+
.\gitlab-runner.exe install --user <ENTER-YOUR-USERNAME> --password <ENTER-YOUR-PASSWORD>
.\gitlab-runner.exe install --user <ENTER-YOUR-USERNAME> --password <ENTER-YOUR-PASSWORD>
+
.\gitlab-runner.exe start
.\gitlab-runner.exe start
+
*(Optional) Update Runners concurrent value in C:\GitLab-Runner\config.toml to allow multiple concurrent jobs as detailed in advanced configuration details. Additionally you can use the advanced configuration details to update your shell executor to use Bash or PowerShell rather than Batch.
 
+
#(Optional) Update Runners concurrent value in C:\GitLab-Runner\config.toml to allow multiple concurrent jobs as detailed in advanced configuration details. Additionally you can use the advanced configuration details to update your shell executor to use Bash or PowerShell rather than Batch.
+
  
 
''Voila! Runner is installed, running, and will start again after each system reboot. Logs are stored in Windows Event Log''
 
''Voila! Runner is installed, running, and will start again after each system reboot. Logs are stored in Windows Event Log''
 
+
''More informations: https://docs.gitlab.com/runner/install/windows.html''
More informations: https://docs.gitlab.com/runner/install/windows.html
+
  
  
Zeile 27: Zeile 24:
 
  check_interval = 0
 
  check_interval = 0
 
  log_level = "warning"
 
  log_level = "warning"
 
+
 
  [session_server]
 
  [session_server]
 
  session_timeout = 1800
 
  session_timeout = 1800
 
+
 
  [[runners]]
 
  [[runners]]
 
  name = "<FQDN>"
 
  name = "<FQDN>"
 
  executor = "shell"
 
  executor = "shell"
 
  shell = "powershell"
 
  shell = "powershell"
  environment = ["HTTP_PROXY=<your_Proxy_if_needed>","HTTPS_PROXY=<your_Proxy_if_needed>"]
+
  environment = ["HTTP_PROXY=<your_Proxy>","HTTPS_PROXY=<your_Proxy>"]
 
  url = "https://<your_GitLab>/"
 
  url = "https://<your_GitLab>/"
 
  token = "<your_token_from_registering_the_runner>"
 
  token = "<your_token_from_registering_the_runner>"
Zeile 43: Zeile 40:
 
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\gitlab-runner\" -Name "Environment" -Value "HTTPS_PROXY=server-proxy.xaas.swissic.ch:8080" -PropertyType MultiString
 
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\gitlab-runner\" -Name "Environment" -Value "HTTPS_PROXY=server-proxy.xaas.swissic.ch:8080" -PropertyType MultiString
 
</source>
 
</source>
 +
 +
 +
 +
== Troubleshooting ==
 +
=== Error: Registering runner... failed runner=xxxx status=couldn't execute POST against..===
 +
'''Error'''<br>
 +
''ERROR: Registering runner... failed runner=eGycJT8v status=couldn't execute POST against https://<your_GitLab>/api/v4/runners: Post https://<your_Gitlab>.ch/api/v4/runners: dial tcp <IP>:443: connectex: ''
 +
''A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.''
 +
''PANIC: Failed to register this runner. Perhaps you are having network problems''
 +
 +
'''Cause'''<br>
 +
In some situations you are not able to register your GitLab-Runner through your proxy, but you can use the following workaround.
 +
 +
'''Workaround / Solution'''
 +
*Run the register process on another machine:
 +
.\gitlab-runner.exe register
 +
*Copy the '''token = <your_Token>''' from inside your new generated '''config.toml'''.
 +
*Add the copied '''token = <your_Token>''' to your GitLab-Runner '''config.toml'''.
 +
*Restart your GitLab-Runner service.
 +
 +
 +
=== Encoding Issue in GitLab ===
 +
'''Issue'''<br>
 +
Some characters are broken in the GitLab CI Pipeline log/output.
 +
 +
'''Cause'''<br>
 +
This issue exists because GitLab does not support the encoding "Windows-1251" and "Windows-1252", which is the default encoding in Windows. <br>
 +
There is a open GitLab Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/15046 <br>
 +
 +
'''Workaround'''<br>
 +
*Open the Windows Region settings in a command prompt:
 +
intl.cpl
 +
*
  
  

Version vom 20. März 2020, 17:06 Uhr

Install GitLab-Runner on Windows as a Windows service

  • Create a folder somewhere in your system, ex.: C:\GitLab-Runner.
  • Download the binary and put it into the folder you created. Rename the binary to gitlab-runner.exe.
  • Run an elevated command prompt.
  • Install the Runner as a service and start it. You can either run the service using the Built-in System Account (recommended) or using a user account.
    • Run service using Built-in System Account:
.\gitlab-runner.exe install
.\gitlab-runner.exe start
  • Run service using user account:
.\gitlab-runner.exe install --user <ENTER-YOUR-USERNAME> --password <ENTER-YOUR-PASSWORD>
.\gitlab-runner.exe start
  • (Optional) Update Runners concurrent value in C:\GitLab-Runner\config.toml to allow multiple concurrent jobs as detailed in advanced configuration details. Additionally you can use the advanced configuration details to update your shell executor to use Bash or PowerShell rather than Batch.

Voila! Runner is installed, running, and will start again after each system reboot. Logs are stored in Windows Event Log More informations: https://docs.gitlab.com/runner/install/windows.html



GitLab Runner behind a proxy

  • Add your proxy server in the GitLab Runner configuration "config.toml" (for example):
concurrent = 8
check_interval = 0
log_level = "warning"

[session_server]
	session_timeout = 1800

runners
	name = "<FQDN>"
	executor = "shell"
	shell = "powershell"
	environment = ["HTTP_PROXY=<your_Proxy>","HTTPS_PROXY=<your_Proxy>"]
	url = "https://<your_GitLab>/"
	token = "<your_token_from_registering_the_runner>"
	tls_verify = false
  • Add the following Registry-Key to force the GitLab-Runner service to use the proxy:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\gitlab-runner\" -Name "Environment" -Value "HTTPS_PROXY=server-proxy.xaas.swissic.ch:8080" -PropertyType MultiString


Troubleshooting

Error: Registering runner... failed runner=xxxx status=couldn't execute POST against..

Error
ERROR: Registering runner... failed runner=eGycJT8v status=couldn't execute POST against https://<your_GitLab>/api/v4/runners: Post https://<your_Gitlab>.ch/api/v4/runners: dial tcp <IP>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. PANIC: Failed to register this runner. Perhaps you are having network problems

Cause
In some situations you are not able to register your GitLab-Runner through your proxy, but you can use the following workaround.

Workaround / Solution

  • Run the register process on another machine:
.\gitlab-runner.exe register
  • Copy the token = <your_Token> from inside your new generated config.toml.
  • Add the copied token = <your_Token> to your GitLab-Runner config.toml.
  • Restart your GitLab-Runner service.


Encoding Issue in GitLab

Issue
Some characters are broken in the GitLab CI Pipeline log/output.

Cause
This issue exists because GitLab does not support the encoding "Windows-1251" and "Windows-1252", which is the default encoding in Windows.
There is a open GitLab Issue: https://gitlab.com/gitlab-org/gitlab/-/issues/15046

Workaround

  • Open the Windows Region settings in a command prompt:
intl.cpl