我的 kubernetes 集群中有一个 bitbukcet 管道运行器
kubectl get po -A --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
default runner-01-26kgg 2/2 Running 0 44h
这些容器的主机名为
/ # hostname
runner-01-26kgg
但是当我从管道检查主机名时,其主机名显示为
+ echo "Executing on runner: ${BITBUCKET_PIPE_RUN_ON}"
echo "Runner container hostname: $(hostname)"
Executing on runner:
Runner container hostname: 9ce8de576a8c
我不确定它显示的是哪个容器。
我的管道在下面
image: maven:3.3.9
pipelines:
branches:
'{master}':
- step:
name: Build and Analyze
runs-on:
- self.hosted
- linux
script:
- |
echo "Executing on runner: ${BITBUCKET_PIPE_RUN_ON}"
echo "Runner container hostname: $(hostname)"
echo "Environment variables:"
printenv
运行器配置有标签 self.hosted,linux 并在 bitbucket 中处于活动状态。我可以寻求帮助来在同一个跑步者中运行这项工作吗?
图像:maven:3.3.9
管道: 分支机构: '{掌握}': - 步: 名称:构建和分析 运行: - 自托管 - linux 脚本: - | echo "在运行器上执行: ${BITBUCKET_PIPE_RUN_ON}" echo“运行器容器主机名:$(主机名)” echo "环境变量:" 打印环境
管道在运行器中生成的 docker 容器中运行,而不是直接在运行器中运行。这就是为什么
$(hostname)
评估为容器 ID。
您还创建了
$BITBUCKET_PIPE_RUN_ON
变量,因此它是空的。请参阅 https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/ 了解可在脚本中使用的现有变量。
runs-on:
- self.hosted
- linux
这应该足以让该步骤在您的自托管运行器上运行。也许我不明白你的问题,抱歉。