Jenkins 构建没有正确执行 `docker tag` 命令

Jenkins build not executing `docker tag` command correctly

我正在尝试构建 https://github.com/ansible/awx

为了设置我的 Jenkins 环境,我在 AWS 中部署了 Ubuntu,安装了开发工具 docker 和 Jenkins,并将 jenkins 用户加入了 docker 组。然后,我使用默认配置设置 Jenkins。

设置 Jenkins 后,我创建了一个 "freestyle project," 将 SCM git 存储库 URL 设置为 https://github.com/ansible/awx.git,然后添加了一个执行 shell 构建步骤到以下内容:

cp awx/settings/local_settings.py.docker_compose awx/settings/local_settings.py
make docker-compose-build

建造。很简单吧?!不会。构建会按预期创建 docker 图像。但是,Makefile 的最终命令是使用以下命令标记 docker 图像:

docker tag ansible/awx_devel gcr.io/ansible-tower-engineering/awx_devel:origin/devel

但是,这 returns 以下内容:

Error parsing reference: "gcr.io/ansible-tower-engineering/awx_devel:origin/devel" is not a valid repository/tag: invalid reference format

如果我在类似的环境中运行 make 命令,则不会发生此错误。如果我在类似环境中 运行 docker 标记命令,则不会发生这种情况。

P.S。我已经尝试明确设置 shell.

https://docs.docker.com/engine/reference/commandline/tag/

A tag name must be valid ASCII and may contain lowercase and uppercase letters, digits, underscores, periods and dashes. A tag name may not start with a period or a dash and may contain a maximum of 128 characters.

因此,问题出在您的标签名称中的 /。尝试使用 origin-devel.

标记