Max*_*one 5 git github jenkins
我不确定摘要是否明确说明了这一点。我想要做的是创建一个 jenkins 构建状态徽章 url,它将以某种方式能够找出它所在的 Git 分支,并动态地向 url 添加正确的分支后缀。
我想这样做,这样我就可以创建一个自述文件,它始终显示master,develop和<branch-i'm-looking-at>詹金斯建立是回购,而无需手动更新,每个分支的徽章。
我知道如何创建特定于分支的构建状态徽章。Jenkins 会自动为你构建 markdown URL。例如,我的一个develop分支看起来像:
[]
(https://jenkins.mycompany.com/path/to/build/develop/)
Run Code Online (Sandbox Code Playgroud)
我可以想象它会是使用${BRANCH_NAME}jenkins env var 的东西,但我想不出如何创建它。我对 git hooks 或其他脚本的经验不足,甚至无法开始想出一种方法来做到这一点。
有没有人做过这个?
我不会创建一个README,而是维护 4 个READMEs,每个分支一个,每个都有自己的静态Jenkins URL,针对自己的分支量身定制。
例如,分支中的 URL为README:develop
[]
(https://jenkins.mycompany.com/path/to/build/develop/)
Run Code Online (Sandbox Code Playgroud)
此外,这些是多分支管道,分支会来来去去。
然后我会考虑内容过滤器驱动程序。
这意味着只有一个 README文件中包含占位符值。
(“占位符值”:要替换的字符串。例如@URL@:)
这允许您在本地生成正确的文件,并在/README上自动执行此操作。git clonegit checkout
生成脚本将:
README以生成正确的,README为此,请注册(在.gitattributes声明中)内容过滤器驱动程序。
(图片来自《自定义 Git - Git 属性》,来自《Pro Git book》)
该smudge脚本将生成(自动、git checkout或git switch)实际README文件,如上所述。
该脚本可以使用:
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)
Run Code Online (Sandbox Code Playgroud)
git smudge请参阅“ /clean在分支之间过滤”的完整示例。
我还会添加一个clean过滤器,以便恢复原始 README 内容(占位符值),以便不引入(从git diff角度来看)任何差异。
回顾一下:
git checkout/上restore,文件smudge中声明的脚本.gitattributes会自动激活,并用正确的 URL 和分支名称替换占位符值git diff/上commit,文件clean中声明的脚本.gitattributes会自动激活,并用原始占位符值替换生成 URL。| 归档时间: |
|
| 查看次数: |
531 次 |
| 最近记录: |