如何在jenkins的execute shell中使用credentials进行docker登录?
·
如何在jenkins的execute shell中使用credentials进行docker登录
在Jenkins中,可以使用Credentials插件来管理Docker Hub的认证信息。
使用 Credentials Binding Plugin插件 可以将 Jenkins 的 Credentials 绑定到环境变量中,这样你就可以在 Execute Shell 步骤中使用这些变量。以下是详细的步骤:
1. 添加一个docker的credentials




Treat username as secret
勾选这个选项在日志打印时会同时隐藏用户名,打印出***
2. 安装 Credentials Binding Plugin

确保你的 Jenkins 已经安装了 Credentials Binding Plugin。如果没有安装,可以按照以下步骤安装:
- 进入 Jenkins 管理界面。
- 点击
Manage Jenkins->Manage Plugins。 - 在
Available选项卡中搜索Credentials Binding Plugin。 - 选中并安装该插件。
3. 配置 Jenkins 任务使用 Credentials Binding

- 在 Jenkins 任务配置中绑定 Credentials:
- 打开你的 Jenkins 任务,点击
Configure进入配置页面。 - 在页面中找到
Build Environment部分,并勾选Use secret text(s) or file(s)或Use secret text(s) or file(s) in builds。 - 点击
Add,选择Username and password (separated)。 - 在
Username Variable和Password Variable中分别填写你想要的环境变量名称,比如DOCKER_LOGIN_USER和DOCKER_LOGIN_PWD。 - 在
Credentials下拉列表中,选择你预先创建的aliyun-registry-account(或其他) Credentials ID。
- 打开你的 Jenkins 任务,点击
4. 在 Execute Shell 中使用这些变量
现在你可以在 Execute Shell 中使用这些被注入的环境变量:
# 使用环境变量来登录 Docker Registry
docker login registry.cn-hangzhou.aliyuncs.com -u "$DOCKER_LOGIN_USER" -p "$DOCKER_LOGIN_PWD"
# 构建 Docker 镜像
docker build -t registry.cn-hangzhou.aliyuncs.com/your-repo/your-image-name:latest .
# 推送 Docker 镜像到阿里云镜像中心
docker push registry.cn-hangzhou.aliyuncs.com/your-repo/your-image-name:latest
总结
通过使用 Credentials Binding Plugin,你可以将 Jenkins 的 Credentials 安全地注入到环境变量中,并在 Execute Shell 中使用这些变量来进行 Docker 登录和其他操作。这种方法既能保证安全性,又能避免在脚本中暴露敏感信息。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)