Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在gitlab Runner上调试作业?_Gitlab_Devops_Gitlab Ci Runner_Gitlab Ce - Fatal编程技术网

如何在gitlab Runner上调试作业?

如何在gitlab Runner上调试作业?,gitlab,devops,gitlab-ci-runner,gitlab-ce,Gitlab,Devops,Gitlab Ci Runner,Gitlab Ce,我正在尝试在gitlab runner上调试作业。据我所知,我需要修改gitlab runner配置以启用交互式web终端 我当前的config.toml如下所示: concurrent = 1 check_interval = 0 [[runners]] name = "XXX" url = "https://URL.TO.SELF.HOSTED.GITLAB.INSTANCE" token = "XXX" exec

我正在尝试在gitlab runner上调试作业。据我所知,我需要修改gitlab runner配置以启用交互式web终端

我当前的
config.toml
如下所示:

concurrent = 1
check_interval = 0

[[runners]]
  name = "XXX"
  url = "https://URL.TO.SELF.HOSTED.GITLAB.INSTANCE"
  token = "XXX"
  executor = "docker"
  builds_dir = "/build"
  cache_dir = "/cache"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "ubuntu:18.04"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
据我所知,我需要将
[session\u server]
部分添加到配置的顶层:

[session_server]
  listen_address = "[::]:8093" #  listen on all available interfaces on port 8093
  advertise_address = "runner-host-name.tld:8093"
  session_timeout = 1800
我有三个问题:

  • 我不明白应该添加什么来代替
    运行程序主机名.tld
    ?从文档中可以看到:“GitLab Runner将向GitLab公开用于访问会话服务器的URL”。但是,在哪里可以找到所使用的URL

  • 我看到我应该指定运行机器的IP地址,而不是主机名。它与指定主机名有何不同?这会影响到安全吗

  • 文档中还写到:“运行程序将自动创建一个TLS证书以实现安全连接”。我应该采取任何额外的步骤来确保连接安全吗


  • 如果您能向我推荐一些关于该主题的书籍/材料,我也将不胜感激。

    1/2:这可以是主机的IP地址(可以通过*nix系统上的
    ifconfig
    获取),也可以是主机的域。它可能是主机名(运行
    hostname
    检索),但需要有域的A记录。因此,如果您的主机名为
    my prod host
    ,而您公司的域名为
    example.com
    ,则URL可以是
    my prod host.example.com
    。如果A记录不存在,并且由于任何原因您都无法轻松添加,我会选择IP地址。这两个选项的功能都相同,您提供的链接建议您可以使用其中一个。你用哪一个真的不重要

    3:TLS证书将加密客户端和主机之间的HTTP通信,但
    会话_服务器
    会创建一个web终端,该终端对运行程序所在的主机具有完全shell访问权限。您可能希望确保防火墙只允许那些绝对需要访问终端的人,并阻止任何其他人访问该端口。由于会话服务器似乎不接受凭据,因此您似乎只能这样做来保护它