Job logs are shown also as service logs
Summary
With k8s executor, when a job and a service for that job share the exact same image name, the jobs logs are duplicated as service logs when CI_DEBUG_SERVICES
is true.
Steps to reproduce
See example .gitlab-ci.yml below.
.gitlab-ci.yml
variables:
CI_DEBUG_SERVICES: "true"
job-with-service:
image: alpine:3
services:
- name: alpine:3
alias: my-service
command: ["sh", "-c", "echo 'Service starting...'; sleep 10; echo 'Some service logs here...'"]
script:
- echo "Logs coming from the job"
- sleep 5
- echo "Let's generate some more logs"
- sleep 10
- echo "And even more logs"
Actual behavior
Job logs are shown as regular and service logs.
Expected behavior
Job logs not shown as service logs.
Relevant logs and/or screenshots
job log
[service:alpine-my-service] 2025-09-24T11:54:29.314541596Z Service starting...
...
[service:alpine-my-service] 2025-09-24T11:54:32.821518494Z {"script": "/scripts-2506-6276074/step_script"}
[service:alpine-my-service] 2025-09-24T11:54:32.830886394Z $ echo "Logs coming from the job"
[service:alpine-my-service] 2025-09-24T11:54:32.830946774Z Logs coming from the job
[service:alpine-my-service] 2025-09-24T11:54:32.830979474Z $ sleep 5
$ echo "Logs coming from the job"
Logs coming from the job
$ sleep 5
[service:alpine-my-service] 2025-09-24T11:54:37.831775220Z $ echo "Let's generate some more logs"
[service:alpine-my-service] 2025-09-24T11:54:37.831858450Z Let's generate some more logs
[service:alpine-my-service] 2025-09-24T11:54:37.831870020Z $ sleep 10
$ echo "Let's generate some more logs"
Let's generate some more logs
$ sleep 10
[service:alpine-my-service] 2025-09-24T11:54:39.315773959Z Some service logs here...
[service:alpine-my-service] 2025-09-24T11:54:47.833285263Z $ echo "And even more logs"
[service:alpine-my-service] 2025-09-24T11:54:47.833361523Z And even more logs
[service:alpine-my-service] 2025-09-24T11:54:47.833684273Z
[service:alpine-my-service] 2025-09-24T11:54:47.833746933Z {"command_exit_code": 0, "script": "/scripts-2506-6276074/step_script"}
$ echo "And even more logs"
And even more logs
Environment description
Self-managed runners using the Kubernetes executor on self-managed Gitlab instance.
config.toml contents
Add your configuration here
Used GitLab Runner version
Possible fixes
Possibly this line is where the job logs are allowed to flow into the service logs.
Edited by Markus Kaihola