添加凭证





Pipeline script

pipeline {
agent any stages {
stage('withCredentials 使用凭证') {
steps {
withCredentials([usernamePassword(credentialsId: 'DockerServer', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// available as an env variable, but will be masked if you try to print it out any which way
// note: single quotes prevent Groovy interpolation; expansion is by Bourne Shell, which is what you want
bat 'echo ${USERNAME}' //Linux 下 sh 'echo $USERNAME',TODO Windows 上怎么写, // also available as a Groovy variable
echo USERNAME // or inside double quotes for string interpolation
echo "username is $USERNAME"
}
echo 'Credentials SUCCESS'
}
} //指定 Docker 服务器节点。用于编译、上传镜像,指定K8S节点,用于升级程序
stage('指定节点中使用凭证') {
agent { label 'DockerAgent' }
steps {
withCredentials([usernamePassword(credentialsId: 'DockerServer', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
sh 'docker --version'
sh "echo 'docker login -u ${USERNAME} -p ${PASSWORD} image_url'"
}
echo 'Credentials SUCCESS'
}
}
}
}

执行结果

Started by user admin
[Pipeline] Start of Pipeline (hide)
[Pipeline] node
Running on Jenkins in D:\ProgramData\Jenkins\.jenkins\workspace\PipelineDemo
[Pipeline] {
[Pipeline] stage
[Pipeline] { (withCredentials 使用凭证)
[Pipeline] withCredentials
Masking supported pattern matches of %PASSWORD%
[Pipeline] {
[Pipeline] bat D:\ProgramData\Jenkins\.jenkins\workspace\PipelineDemo>echo $PASSWORD
$PASSWORD
[Pipeline] echo
root
[Pipeline] echo
username is root
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] echo
Credentials SUCCESS
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (指定节点中使用凭证)
[Pipeline] node
Running on DockerAgent in /opt/jenkins/workspace/PipelineDemo
[Pipeline] {
[Pipeline] withCredentials
Masking supported pattern matches of $PASSWORD
[Pipeline] {
[Pipeline] sh
+ docker --version
Docker version 20.10.18, build b40c2f6
[Pipeline] sh
Warning: A secret was passed to "sh" using Groovy String interpolation, which is insecure.
Affected argument(s) used the following variable(s): [PASSWORD]
See https://jenkins.io/redirect/groovy-string-interpolation for details.
+ echo 'docker login -u root -p **** image_url'
docker login -u root -p **** image_url
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] echo
Credentials SUCCESS
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

Jenkins Pipeline 流水线 - withCredentials 使用的更多相关文章

  1. Kubernetes DevOps: Jenkins Pipeline (流水线)

    要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式.Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于 ...

  2. jenkins pipeline 流水线生产

    jenkins pipeline : pipeline { agent any parameters { string(name: 'git_version', defaultValue: 'v1.1 ...

  3. 使用Jenkins pipeline流水线构建docker镜像和发布

    新建一个pipeline job 选择Pipeline任务,然后进入配置页面. 对于Pipeline, Definition选择 "Pipeline script from SCM" ...

  4. Jfrog Maven jenkins pipeline 流水线 培训 简单实验

    1. 公司购买了一套jfrog artifactory ,然后厂商组织了一次培训 本次简单记录一下 jenkins和jfrog 二进制仓库的简单连接使用 2. 前期环境准备. scp jdk的tar包 ...

  5. 基于Jenkins Pipeline的ASP.NET Core持续集成实践

    最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署效率,因此这里总结一下. 一.关于持续集成与Jenkins Pipelin ...

  6. Jenkins + Pipeline 构建流水线发布

      Jenkins + Pipeline 构建流水线发布 利用Jenkins的Pipeline配置发布流水线 参考: https://jenkins.io/doc/pipeline/tour/depl ...

  7. jenkins的流水线pipeline+项目实验php

    声明:实验环境使用Jenkins的应用与搭建的环境 新建一个流水线 pipeline脚本语法架构 node('slave节点名'){ def 变量 #def可以进行变量声明 stage('阶段名A') ...

  8. 有手就行5——jenkins项目构建类型(pipeline流水线项目构建推荐)

    有手就行5--jenkins项目构建类型(pipeline流水线项目构建推荐) Pipeline简介 1) 概念 Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立 ...

  9. Pipeline流水线设计的最佳实践

    谈到到DevOps,持续交付流水线是绕不开的一个话题,相对于其他实践,通过流水线来实现快速高质量的交付价值是相对能快速见效的,特别对于开发测试人员,能够获得实实在在的收益.很多文章介绍流水线,不管是j ...

  10. Jenkins pipeline:pipeline 使用之语法详解

    一.引言 Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性. 也是最适合持续交付的feature. 简单的来说,就是把Jenkins1.0版本中,Project中 ...

随机推荐

  1. Python 数据库应用教程:安装 MySQL 及使用 MySQL Connector

    Python可以用于数据库应用程序. 其中最流行的数据库之一是MySQL. MySQL数据库 为了能够在本教程中尝试代码示例,您应该在计算机上安装MySQL. 您可以在 MySQL官方网站 下载MyS ...

  2. Redis项目搭建

    Redis项目搭建 Redis下载 搭建redis首先需要下载Redis,可是Redis官方并没有Windows安装,好在网上从不缺大牛,Github上可以找到Redis的Windows版 下载地址: ...

  3. STM32CUBEIDE 如何将变量定义到指定内存地址

    使用场景如下: 我需要将bootloader/APP的版本号和一些字段信息定义到指定FLASH地址. 在STM32CubeIDE中的方法: 截止当前STM32CubeIDE还没有提供图形化的针对FLA ...

  4. Codeforces Round #706 (Div. 2) A-D题解

    写在前边 链接:Codeforces Round #706 (Div. 2) \(A,B,C,D\),这场有点简单,不过由于A写炸了后边题连看都没看就溜了,就从上大分变成了掉大分 A. Split i ...

  5. iOS信号量造成线程优先级反转

    在并发队列使用信号量会可能会造成线程优先级反转 一.在iOS16 & XCode14上遇到 - 使用信号量造成线程优先级反转问题 提醒 经过查询资料,发现是在XCode14上增加了工具,比如 ...

  6. 电子元器件工厂的金蝶 ERP 与赛意 WMS 系统数据集成平台进行对接

    项目背景 国内某晶振集成电路研发单位,涵盖从产品开发.设计.生产.销售.服务等各个环节.需要全面建成以ERP.WMS.BOM.PLM.DMS.SRM.OA 为核心的企业信息系统,支持研发.生产.营销. ...

  7. mac中删除本地maven库中下载失败的.lastUpdated文件

    在 macOS 中,要删除本地 Maven 仓库中所有的 .lastUpdated 文件,您可以使用 find 命令结合 rm 命令来执行这个操作.这可以在终端(Terminal)中完成. 打开您的终 ...

  8. StackGres 1.6,可私有部署的云原生数据库中间件平台工程

    StackGres 数据库平台工程简介 Enterprise Postgres made easy. On Kubernetes StackGres 是 Kubernetes 的全栈 PostgreS ...

  9. Java八股面试题整理(1)

    1.为什么Java代码可以实现一次编写,到处运行? 参考答案 JVM(Java虚拟机)是Java跨平台的关键. 在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class).在 ...

  10. [HAOI2018] 字串覆盖

    [HAOI2018]字串覆盖 题目描述 小C对字符串颇有研究,他觉得传统的字符串匹配太无聊了,于是他想到了这 样一个问题. 对于两个长度为n的串A, B, 小C每次会给出给出4个参数s, t, l, ...