$CI_BUILD_TOKEN variable not available in the docker entrypoint for kubernetes executor
Summary
CI variable $CI_BUILD_TOKEN
is not available in the docker entrypoint for Kubernetes runner, but it is available for docker runner.
I assume it is an issue, as the behavior is not the same.
Steps to reproduce
dockerfile: rtyshyk/gitlab-k8s-agent-entrypoint
FROM ubuntu:20.04
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
entrypoint from rtyshyk/gitlab-k8s-agent-entrypoint
#!/bin/bash
set -e
printenv > /builds/env.txt
/bin/bash
gitlab-ci yaml
stages:
- test
test_k8s:
image: rtyshyk/gitlab-k8s-agent-entrypoint
stage: test
script:
- echo $CI_BUILD_TOKEN
- cat "/builds/env.txt"
tags:
- k8s
test_docker:
image: rtyshyk/gitlab-k8s-agent-entrypoint
stage: test
script:
- echo $CI_BUILD_TOKEN
- cat "/builds/env.txt"
tags:
- docker
Actual behavior
$ echo $CI_BUILD_TOKEN
[MASKED]
$ cat "/builds/env.txt"
`CI_BUILD_TOKEN` is missing
Expected behavior
CI_BUILD_TOKEN
is available in the output for kubernetes runner.
Relevant logs and/or screenshots
Environment description
- Custom installation
- docker runner / executor
- kubernetes agent with k8s runner running on GKE
Runner agent helm chart variable
runners:
config: |
[[runners]]
environment = ["FF_KUBERNETES_HONOR_ENTRYPOINT=1"]
[runners.kubernetes]
pull_policy = ["always"]
image = "ubuntu:20.04"
cpu_request = "200m"
cpu_limit = "1000m"
memory_request = "512Mi"
memory_limit = "1Gi"
namespace = "gitlab-runner"
privileged = true
[runners.kubernetes.node_selector]
preemptible = "true"
dev = "true"
executor: kubernetes
### Used GitLab Runner version
Running with gitlab-runner 14.6.0 (5316d4ac) on k8s development tLewunb9
Edited by Roman Tyshyk