我想能够说出类似的话:
git branch: commitHash, credentialsId: credentialsId, url: url
Run Code Online (Sandbox Code Playgroud)
用例:我在不同的平台上进行并行构建和测试运行,并希望确保每个都获得相同的代码.它是C++,我们构建在不同的平台上以及构建它们.
如果我执行上述操作,则会失败 - 底层代码假定给定分支实际上是分支,或者您得到类似的内容:
[Linux64 Build] > git rev-parse origin/e4b6c976a0a986c348a211579f1e8fd32cf29567^{commit} # timeout=10
[Pipeline] [Linux64 Build] }
[Pipeline] [Linux64 Build] // dir
[Pipeline] [Linux64 Build] }
[Pipeline] [Linux64 Build] // node
[Pipeline] [Linux64 Build] }
[Linux64 Build] Failed in branch Linux64 Build
Run Code Online (Sandbox Code Playgroud)
我之前已经看到过这个问题的变化,虽然没有实际的答案 - 只是建议比如隐藏源代码,等等.不是我真正想要的.
文档建议应该可以提供显式提交哈希,可能使用分支,但我无法解决语法,也找不到任何示例.当我这样做时,我会得到主分支,我认为 - 在我们的设置中,主人不起作用.
到目前为止,我发现的唯一解决方案是检查分支,然后显式调用git来获取提交:
git branch: branch, credentialsId: credentialsId, url: url
sh 'git checkout ' + commitHash
Run Code Online (Sandbox Code Playgroud)
(其中branch是我最初在作业顶部获得哈希的分支.它可以工作,但不是最好的.
有人有更好的方法吗?
我想使用scp/ssh将一些文件上传到服务器.我发现我需要使用基于证书的身份验证,但问题是如何?我真正想做的是使用与Jenkins中存储的git - passworded ssh cert相同的凭证.但是,我无法弄清楚如何 - 片段生成器没有明显的选择.
其他人做什么?是否有未记录的功能可以做到这一点?
我正在尝试将 docker-compose-plugin 安装到 Amazon Linux 2 上,以便“docker compose”的行为更像“docker-compose”。[据我所知,后者已被弃用]我找不到任何说明,并且明显的方法(像 Centos 7 一样对待它)根本不起作用 - 在 Amazon Linux 2 上安装 docker 的基本方式非常不同。
有人知道吗?
我们通常从使用Freestyle转向管道项目,并且其中一部分定期使用Blue Ocean.对于经典视图,我们生成html作业描述,例如,在我们使用的gitlab服务器中合并请求.蓝海上相同的构建描述被视为文本,几乎没用.
有没有办法告诉Blue Ocean将构建描述视为html或类似的?
我正在添加和维护 groovy 文件以构建一组存储库 - 以前它们是使用自由式 Jenkins 作业构建的。我支持共享库中的一些代码,老实说(主要是出于 DRY 的原因)我想做更多。
但是,我知道如何测试和调试这些库文件的唯一方法是将更改推送到 git 分支。我知道测试主要 Jenkins 文件的“重播”技巧。是否有一些方法我错过了为库代码做类似的事情?