当前位置: 首页 > 知识库问答 >
问题:

使用Jenkins管道将多个git回购签入同一作业

潘意
2023-03-14

在我的Jenkins工作中,我使用Jenkins Multiple SCM插件将三个git存储库签出到三个子目录中。然后,我执行一组命令,用从所有三个存储库中提取的信息和代码构建一组工件。

多个SCM现在折旧,文本建议转移到管道。我试过了,但我想不出怎么让它起作用。

$ ls
Combination
CombinationBuilder
CombinationResults
node('ATLAS && Linux') {
    sh('[ -e CalibrationResults ] || mkdir CalibrationResults')
    sh('cd CalibrationResults')
    git url: 'https://github.com/AtlasBID/CalibrationResults.git'
    sh('cd ..')
    sh('[ -e Combination ] || mkdir Combination')
    sh('cd Combination')
    git url: 'https://github.com/AtlasBID/Combination.git'
    sh('cd ..')
    sh('[ -e CombinationBuilder ] || mkdir CombinationBuilder')
    sh('cd CombinationBuilder')
    git url: 'https://github.com/AtlasBID/CombinationBuilder.git'
    sh 'cd ..'

    sh('ls')
    sh('. CombinationBuilder/build.sh')
}

共有1个答案

司寇正志
2023-03-14

可以使用dir命令在子目录中执行管道步骤:

node('ATLAS && Linux') {
    dir('CalibrationResults') {
        git url: 'https://github.com/AtlasBID/CalibrationResults.git'
    }
    dir('Combination') {
        git url: 'https://github.com/AtlasBID/Combination.git'
    }
    dir('CombinationBuilder') {
        git url: 'https://github.com/AtlasBID/CombinationBuilder.git'
    }

    sh('ls')
    sh('. CombinationBuilder/build.sh')
}
 类似资料:
  • 问题内容: 我正在使用Jenkins Multiple SCM插件将三个git存储库检出到Jenkins作业的三个子目录中。然后,我执行一组命令,以使用从所有三个存储库中提取的信息和代码构建一组工件。 现在已弃用多个SCM,并且文本建议移至管道。我尝试过,但是我不知道如何使它工作。 这是我感兴趣的从詹金斯工作目录的顶层看到的目录结构: 这三个子目录中的每一个都有一个单独的git repo签出。对于

  • 我在Jenkins的工作中使用Jenkins Multiple SCM插件将两个git存储库签出到两个子目录中。然后,我执行一组命令,用从所有三个存储库中提取的信息和代码构建一组工件。但是分支测试检查了两次?工作区具有当前结构: 我希望工作区具有这种结构。

  • 使用Jenkins 1.501和Jenkins Git插件1.1.26 我有3个不同的git回购,每个都有多个项目。 现在我需要在一个Jenkins Slave上将来自3个git Repo的所有项目签出到同一个工作区。我在《源代码管理:多个SCM》中定义了每个git repo。但每次签出一个回购,就会删除先前的回购(及其关联的项目)。

  • 问题内容: 使用Jenkins 1.501和Jenkins Git插件1.1.26 我有3个不同的git仓库,每个仓库都有多个项目。 现在,我需要将所有3个git存储库中的项目检出到Jenkins从属服务器上的同一工作区中。我在以下 代码中 定义了每个git repo: 源代码管理:多个SCM 。但是每次签出一个回购协议时,先前的回购协议(及其关联项目)都会被删除。 我读过这个: http://j

  • 问题内容: 在我的jenkins管道项目中,我可以从git fine中检出代码…但是我们需要做一些git checkins,而且显然没有缓存凭据。 这是示例输出: 有人对此有很好的解决方案吗? 谢谢 问题答案: 答案是使用强大的jenkins插件: http://getmesh.io/Blog/Jenkins+2+Pipeline+101 该插件为git访问注入SSH_AUTH_SOCK环境变量

  • 问题内容: 我正在尝试让詹金斯(Jenkins)的多分支管道工作来以类似于分支的方式构建标签。在Jenkins 2.73(不确定何时添加功能)中,可以将Multibranch项目配置为从源存储库中检索分支和标签。最初,我认为这将非常适合我的需求(我的Jenkinsfile现在可以在Jenkins的同一位置进行开发或生产构建)。 配置了标签发现的多分支作业 我已经使用脚本管道成功构建并运行了构建过程