Bitbucket 管道运行程序问题

问题描述 投票:0回答:1

我的 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 "环境变量:" 打印环境

kubernetes sonarqube bitbucket bitbucket-pipelines
1个回答
0
投票

管道在运行器中生成的 docker 容器中运行,而不是直接在运行器中运行。这就是为什么

$(hostname)
评估为容器 ID。

您还创建了

$BITBUCKET_PIPE_RUN_ON
变量,因此它是空的。请参阅 https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/ 了解可在脚本中使用的现有变量。

          runs-on:
            - self.hosted
            - linux

这应该足以让该步骤在您的自托管运行器上运行。也许我不明白你的问题,抱歉。

© www.soinside.com 2019 - 2024. All rights reserved.