小编Wim*_*eka的帖子

uuid -v4 和 uuidgen 有什么区别?

我正在为 githooks 创建一些 Jenkins 令牌,并且我正在使用uuidgen.

我的同事说他们通常在-inguuid -v4之后使用 and ,并且看起来是相同的:sudo apt-getuuiduuid -v4uuidgen

$ uuid -v4
832dce77-ddec-4cc5-9872-47a81456653f
$ uuidgen
a321bc87-a1b5-4cc5-b6b5-feaf3a610ab8
Run Code Online (Sandbox Code Playgroud)

供参考:我在 Ubuntu 上运行它。

它们之间有什么区别?他们是一样的吗?

uuid

9
推荐指数
1
解决办法
3555
查看次数

什么是詹金斯/更改页面?

当 Jenkins jobe 构建时,它带有一个位于https://jenkins.server/jenkins/job/job-name/changes.

我知道目的是显示 SCM / git 更改,但究竟什么?

它是插件还是插件的一部分?它有“官方”名称吗?有相关文档吗?

我见过它有多个名字:

  • /更改页面
  • 单片机更改页面
  • 詹金斯更改链接
  • git 更改日志

谷歌搜索这些术语中的任何一个都无法让我了解它是什么或它是如何工作的。我还检查了我在 Jenkins 服务器上安装的插件,甚至没有提到更改日志;我在 cloudbees 网站上看到的那些也没有安装在 Jenkins 上。

我目前正在尝试调试为什么自由式和多分支管道作业之间的行为存在差异,但未能找到任何相关信息/文档。

任何帮助或指导将不胜感激!

git changelog jenkins

8
推荐指数
1
解决办法
1862
查看次数

Jenkins 将 shell 输出保存到 var

我正在尝试检查文件的 md5sum 并将 Okay 导出到 var。然后检查该 var 以标记其正常,如果它不是则构建失败。

我如何将 md5checksum 的结果保存到我可以在 Jenkins 中检查的变量。

我早些时候发现了这个,但它没有看到工作。每次尝试运行脚本时,都会收到 jerkins 的错误消息。

md5Check = sh( script: 'md5sum -c ${env.SSH_HOME}/MD5SUM.MD5', returnStdout: true ).trim()
sh "sudo ssh -i ${env.SSH_KEY} ${env.SSH_URL} -tt \"cd ${env.SSH_HOME}/; echo ${md5Check}\""
Run Code Online (Sandbox Code Playgroud)

它根本不喜欢第一行。有没有另一种方法可以做到这一点?

错误:

WorkflowScript: 44: Expected a step @ line 44, column 17.
               md5Check = sh "sudo ssh -i ${env.SSH_KEY} 
${env.SSH_URL} -tt \"cd ${env.SSH_HOME}/; md5sum -c 
${env.SSH_HOME}/MD5SUM.MD5;\""
               ^

1 error

at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
Run Code Online (Sandbox Code Playgroud)

更新:

我能够使用下面提供的 2 个答案解决此问题,但现在 sh 命令在 Jenkins 端运行,而不是通过 ssh。

我还发现我需要将代码包装在脚本和节点中才能运行脚本。

script{
    node(){ …
Run Code Online (Sandbox Code Playgroud)

shell jenkins jenkins-pipeline

6
推荐指数
1
解决办法
5009
查看次数

通过 shell 脚本根据变量主机名从 ssh 配置中获取 IdentityFile

我正在编写一个 shell 脚本,我需要IdentityFile从 ssh 配置文件中获取 。ssh 配置文件如下所示:

\n\n
\xe2\x80\x8bHost AAAA\n    User aaaa\n    IdentityFile /home/aaaa/.ssh/aaaaFILE\n    IdentitiesOnly yes\n    PubkeyAuthentication=yes\n    PreferredAuthentications=publickey\n\xe2\x80\x8bHost BBBB\n    User bbbb\n    IdentityFile /home/aaaa/.ssh/bbbbFILE\n    IdentitiesOnly yes\n    PubkeyAuthentication=yes\n    PreferredAuthentications=publickey\n\xe2\x80\x8bHost CCCC\n    User cccc\n    IdentityFile /home/aaaa/.ssh/ccccFILE\n    IdentitiesOnly yes\n    PubkeyAuthentication=yes\n    PreferredAuthentications=publickey\n
Run Code Online (Sandbox Code Playgroud)\n\n

IdentityFile我想根据给定获取后面的字符串Hostname并将其放入变量中。主机名将由名为 的 shell 变量提供${HOSTNAME}

\n\n

我能够使用Bash extract user for a certain host from ssh config fileIdentityFile的答案来读取配置文件,并根据单个特定的 grep 获取单个特定的内容Hostname,但我无法掌握将变量传递到awk。

\n\n

到目前为止我已经尝试过

\n\n
SSH_CONFIG="/home/aaaa/.ssh/config"\n# Note AAAA is the hostname for this case\nKEY=$(awk \'/^Host …
Run Code Online (Sandbox Code Playgroud)

ssh shell awk parsing ssh-config

5
推荐指数
2
解决办法
1936
查看次数

每个分支基于作业的安全性 - Jenkins 多分支管道

我有一个用于构建工件的 Jenkins 多分支管道,并且有等的分支master*-dev

我想在每个分支的基础上启用基于项目的安全性,即只允许开发人员运行*-dev构建的分支作业,而不是任何其他作业,因为这样做会产生不良影响。

我知道有基于项目的安全性,但我没有看到每个分支。这存在吗?我们在更新 Jenkins 方面落后了,目前正在运行 Jenkins 2.46.1

否则我想我可能必须有一个单独的上游作业来调用下游作业的正确分支,并使下游工件作业无法由有权限的开发人员运行。(这听起来有点矫枉过正)。

或者有什么方法可以在分支的 Jenkinsfile 中完成此操作?

security jenkins jenkins-plugins jenkins-pipeline

5
推荐指数
1
解决办法
1136
查看次数

我应该覆盖 init 系统的 debhelper 使用吗?

我正在尝试使用 systemd 脚本构建 debian 软件包,但我并不真正理解最好的方法。

我的第一个问题是,我应该使用该--with=systemd选项(并覆盖dh_systemd_enableand )还是与该选项一起dh_systemd_start使用就足够了?因为两者似乎都在做同样的事情。dh_installinit--name

packaging debian-based debhelper

2
推荐指数
1
解决办法
2137
查看次数