jenkins - 如何在詹金斯的某个分支上执行 git bundle 命令
问题描述
我的问题是在克隆一些分支后写什么来执行 git bundle 命令,然后将输出文件复制到远程机器:
stage('克隆项目') { git 分支:'release_branch',url:'repo_url' } 阶段('创建捆绑'){ 混帐包………… }
解决方案
并非所有 git 命令都可用作本机工作流程步骤。作为替代方案,我自己已经成功地为此目的使用了 shell 脚本,其中所有不受支持的命令都包含在 shell 脚本中。这些脚本是 git 存储库本身的一部分(通常在构建目录中,但可以是任何你想要的)。
对于您的用例,您可以使用类似的方法并将“git bundle ...”与文件传输(使用 sftp、curl、aws cli 或在您的环境中工作的任何东西)一起包装在一个 shell 脚本中。假设在路径 build/bundle_transfer.sh 签入此文件,那么您可以在管道中使用以下语法调用此脚本。
stage('Cloning project') {
git branch: 'release_branch', url: 'repo_url'
}
stage('create bundle') {
sh 'build/bundle_transfer.sh'
}
确保您的脚本已使用设置的可执行属性签入,否则它将在 jenkins 环境中执行失败。如果您希望在远程存储库上使用任何写入操作(“git bundle ...”不需要),那么您最终可能会在管道中使用凭据绑定。
推荐阅读
- r - 成对集合的交集(任何可能的组合)
- python-3.x - 在 Python 中,secrets 模块如何制作完美的随机序列
- flutter - 使用 Realtime Firebase 创建 StreamBuilder 以在 Sensor 值发生变化时进行跟踪
- oracle - 如何解决 Oracle 的这个问题?
- php - 使用 PHP 的 IBM 云存储
- git - 将现有 Git Repo 转移到 GitHub 中,并将大文件添加到 LFS
- azure - 如何将 kubectl 任务的输出传递到 Azure Devops 中的下一个任务
- python - 无法按标签对熊猫列进行排序,似乎没有任何方法对我有用?
- python - 数据透视表的问题 - 信息被挤在一行中
- python - Django django-filter django-tables2 限制查询结果