我正在尝试使用 docker docker:dind image 在我的 Bitbucket 管道上运行 Dependabot CLI。 我已经安装了 go,并且 Dependabot CLI 似乎也顺利安装了,但是在运行它时,我收到错误消息:Cannot connect to the Docker daemon at tcp://localhost:2375。 docker 守护进程是否正在运行?
我的管道如下所示:
pipelines:
custom:
dependency-update:
- step:
name: Update dependencies
image: docker:dind
script:
- export PATH=/usr/local/go/bin:$PATH
- apk add --no-cache git make musl-dev go
- export LOCAL_GITHUB_ACCESS_TOKEN=$BITBUCKET_PR_ACCESS_TOKEN
- export GOROOT=/usr/lib/go
- export GOPATH=/go
- export PATH=/go/bin:$PATH
- mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
- go install github.com/dependabot/cli/cmd/dependabot@latest
- dependabot update -f dependabot-job.yml
运行管道时,我收到:
+ dependentabot 更新 -f dependentabot-job.yml。
cli | 2024/08/12 11:26:29 将 $LOCAL_GITHUB_ACCESS_TOKEN 插入凭据
cli | 2024/08/12 11:26:29 拉取镜像:ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:latest
cli | 2024/08/12 11:26:29 更新程序失败:无法拉取 ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:最新:无法通过 tcp:/ 连接到 Docker 守护进程/本地主机:2375。 docker 守护进程是否正在运行?
我认为 docker 镜像中的 docker 会自动运行 docker,我还需要先做些什么吗,或者有没有更简单的方法在 bitbucket 管道中运行 Dependabot CLI?
您不需要在 Docker 中运行 Docker 即可访问 Docker Daemon。 您可以通过设置使Docker服务可用
services:
- docker
所以管道变成:
pipelines:
custom:
dependency-update:
- step:
name: Update dependencies
image: golang:latest
max-time: 120
script:
- export LOCAL_GITHUB_ACCESS_TOKEN=$REPOSITORY_OAUTH_ACCESS_TOKEN
- export NPM_TOKEN=$NPM_TOKEN
- go install github.com/dependabot/cli/cmd/dependabot@latest
- dependabot update -f dependabot-job.yml
services:
- docker