一尘不染

SVN使最后提交消息脱机

jenkins

有没有办法获得最后的提交消息而无需访问存储库?svn log --limit 1尝试连接到仓库。

编辑:我有凭据设置,并使用它们来签出源。

我要实现的目标是让Jenkins根据提交消息触发另一个作业,即是否包含字符串“ #build”启动作业X。我的尝试是在Shell Build
Step中解析它并执行一个作业取决于结果。但是由于我没有匿名访问该存储库的权限,也不想将凭据嵌入到shell脚本中,所以我不知道如何实现此目的。

接下来是git ..


阅读 238

收藏
2020-07-25

共1个答案

一尘不染

这就是 Jenkins Credentials 插件的用途。

您可以在Jenkins全局配置上安全地配置凭据,然后让作业引用该凭据。无需在脚本中编写任何内容。

编辑:
要从外壳程序步骤中安全使用密码

  • 安装 EnvInject插件
  • 在“ Jenkins全局配置”下 ,找到“ 全局密码” 部分。
  • 添加一个 名称* (这将是环境变量名称)和 密码 (将加星号*)。
  • 在“ 作业配置”下 ,找到“ 构建环境” 部分。
  • 选中标记将 密码作为环境变量注入到构建中
  • 然后选中“ 全局密码”

现在,在任何构建步骤中,您都可以使用$name(如先前定义的那样)引用密码,就像您以纯文本形式键入密码一样。

  • 仅在作业执行时才注入password变量($name在服务器的命令行上键入本身不会产生任何结果,并且像所有Jenkins变量一样,它不是持久性的)。
  • ****如果显示,则作业控制台日志将显示而不是密码。
  • 您可以为每个作业而不是全局配置密码,以便其他作业不能使用它。

唯一的安全问题是,如果某人具有 配置您的作业的管理权限 ,则他们可以写入echo $name > secretpassword.txt构建步骤,然后在工作区中查看文件。但是您应该小心,将管理权限分配给谁。

2020-07-25