SVN离线获取最后一次提交消息

时间:2014-09-29 11:36:51

标签: git svn jenkins

有没有办法获取最后一次提交消息而无法访问repo? svn log --limit 1尝试连接到repo。

编辑:我已设置凭据并使用它们来查看来源。

我想要实现的目标是让Jenkins根据提交消息触发另一个作业,即它是否包含字符串" #build"开始工作X.我的尝试是在Shell Build Step中解析它并根据其结果执行一个作业。但由于我没有匿名访问回购并且不想在shell脚本中嵌入凭据,我不知道如何实现这一点。

接下来就是git ..

2 个答案:

答案 0 :(得分:3)

这是Jenkins Credentials插件的用途。

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

<强> 编辑:
从shell步骤中安全地使用密码

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

在任何构建步骤中,您现在可以使用$name(如前所述)来引用密码,就像您在纯文本中输入密码一样。

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

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

答案 1 :(得分:0)

我相信SVN存储库上的任何操作都使用SVN存储库的凭据设置。但是,如果您可以在托管SVN存储库的服务器上进行访问,则可以创建自己的脚本来读取{repository-root}/db/revprops文件夹。在这里,您可以找到所有修订提交消息。