Jenkins:在powershell中访问全局密码

Jenkins:在powershell中访问全局密码,powershell,jenkins,passwords,global,Powershell,Jenkins,Passwords,Global,我无法将jenkins全局密码作为powershell中的环境变量访问。我已经做了以下工作。不知道我还缺少什么 已安装凭据绑定插件、环境注入器插件、掩码密码插件、Hudson PowerShell插件 在作为gluser管理凭据中创建了全局密码条目 在我的构建中,我有一个powershell调用,其构建环境定义为将密码作为环境变量注入到构建中,并检查全局密码 以下任何一项都不能使我在powershell脚本中引用全局密码 $env:gluser $gluser 他们似乎都不允许我在Jenkins

我无法将jenkins全局密码作为powershell中的环境变量访问。我已经做了以下工作。不知道我还缺少什么

  • 已安装凭据绑定插件、环境注入器插件、掩码密码插件、Hudson PowerShell插件
  • 在作为gluser管理凭据中创建了全局密码条目
  • 在我的构建中,我有一个powershell调用,其构建环境定义为将密码作为环境变量注入到构建中,并检查全局密码
  • 以下任何一项都不能使我在powershell脚本中引用全局密码
    $env:gluser

    $gluser

  • 他们似乎都不允许我在Jenkins的powershell调用中访问全局密码。有人能帮忙吗?

    在我们的构建中,我们使用以下方式(实际代码):

    然后将$deploymentdir作为参数传递给ps1,工作正常

    环境变量VC_RES在“Manage Jenkins”->全局属性下配置。在“环境变量”旁边有一个复选框,我们在其中设置这些变量。WORKSPACE变量由jenkins自己设置。

    不要混淆和。这两种方法做的事情完全不同,但是它们都允许全局管理密码,但方式不同

    环境方式
    • 管理Jenkins->配置系统
    • 全局密码下
    • 单击添加
    • 输入名称(环境变量)和密码
    • 作业->配置
    • 构建环境下
    • 选中“将密码作为环境变量注入到生成”
    • 检查全局密码
    • 检查掩码密码参数
    凭证绑定方式
    • 管理Jenkins->管理凭证
    • 单击添加凭据(无域)
    • 选择带有密码的用户名或机密文本
    • 输入用户名和密码或密码
    • 作业->配置
    • 构建环境下
    • 选中“使用密文或文件”
    • 在绑定下,单击添加
    • 选择用户名和密码密文
    • 输入要保存凭据值的变量名称
    • 选择特定凭证单选按钮
    • 从下拉列表中选择配置的凭据
    在你的能量地狱里
    • 像访问任何其他环境变量一样访问这些变量:
      $env:VAR\u NAME

      其中,
      VAR_NAME
      是环境变量名(即EnvInject方式的步骤2,或凭证绑定方式的步骤4)
    附录 环境与凭据绑定

    • EnvInject密码将在环境变量列表中显示加密密码
    • EnvInject密码将在控制台输出中显示星号(****)
    • EnvInject密码使用与全局配置相同的变量名,因此您必须记住该全局变量名。
      |
    • CB密码以明文形式显示在环境变量列表中
    • CB密码在控制台输出中不带星号
    • CB密码可以通过下拉菜单绑定到作业中所需的任何变量名,因此您不必记住全局变量名。
      |
    • 凭据绑定实际上更多地用于绑定凭据文件,如证书和密钥,而不是密码值
    带密码的用户名与密码文本。

    • 前者的格式为
      username:password
    • 后者只是
      秘密
    $deploymentdir = $env:VC_RES + "\azure"
    . ".\src\Extensions\Setup\VirtoCommerce.PowerShell\deploy-tfs.ps1" -deployment $deploymentdir -solutiondir $env:WORKSPACE