Gitlab-CI: 在脚本部分访问nginx服务

Gitlab-CI: Access nginx service in script section

如何在 Gitlab-CI 作业的脚本部分访问 nginx 服务?

run_tests:
  image: curlimages/curl
  stage: test
  services:
    - name: bitnami/nginx
  script: 
    - curl http://127.0.0.1:8080

目前我总是得到错误:

curl: (7) Failed to connect to 127.0.0.1 port 8080 after 4 ms: Connection refused

根据 bitnami nginx 文档,容器应该在端口 8080 上显示标准页面。

在您的情况下,正确的服务主机名是 bitnami-nginx 和 yaml

run_tests:
  image: curlimages/curl
  stage: test
  services:
    - name: bitnami/nginx
  script: 
    - curl http://bitnami-nginx:8080

根据https://docs.gitlab.com/ee/ci/services/#accessing-the-services

服务主机名的默认别名是根据以下规则从其图像名称创建的:

  • 冒号 (:) 后的所有内容都被删除。
  • 斜杠 (/) 替换为双下划线 (__) 并创建主别名。
  • 斜杠 (/) 替换为单个破折号 (-) 并创建辅助别名(需要 GitLab Runner v1.1.0 或更高版本)。