我一直在尝试定义一个Jenkins管道,将Github中的两个项目签出到同一工作区的两个独立子目录中,但不幸的是,到目前为止我的所有尝试都无济于事。
我找到了一些对一些人有用的例子,并试图效仿他们。我用过的是:
使用Jenkins管道将多个git回购签出到同一作业中
这里:
无法签出Jenkinsfile中的其他分支吗?
下面是我的完整管道脚本,其中有两个签出变体,我正试图使用它们(dir-git目前已被注释掉)。
结果总是一样的,第一个项目签出到指定的子目录中没有问题,然后在尝试签出另一个项目时,创建了另一个子目录,但我得到了“避免二次提取”。
签出在Mac和Linux上都不起作用。我在詹金斯2.277.3频道
也许有什么显而易见的东西需要新的眼睛?无论如何,我将感谢任何建设性的建议。
def api_client_dir = 'scala-api-client'
def subject_dir = 'app-under-test'
pipeline {
agent { label 'Mac' } //Change this to whatever your flutter jenkins nodes are labeled.
stages {
stage('Clean Workspace') {
steps {
cleanWs()
}
}
stage('Checkout') {
steps {
// dir (subject_dir) {
// git credentialsId: 'github_credentials_kh', url: 'git@github.com:mygithubaccount/my-flutter-test-subject.git'
// }
//
// dir (api_client_dir) {
// git credentialsId: 'github_credentials_kh', url: 'git@github.com:mygithubaccount/my-scala-rest-client.git'
// }
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: subject_dir]],
userRemoteConfigs: [[
credentialsId: 'github_credentials_kh',
url: 'git@github.com:mygithubaccount/my-flutter-test-subject.git'
]]
])
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extenshtml" target="_blank">ions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: api_client_dir]],
userRemoteConfigs: [[
credentialsId: 'github_credentials_kh',
url: 'git@github.com:mygithubaccount/my-scala-rest-client.git'
]]
])
}
}
}
}
我能够使用GitSCM插件中的noTags:False选项解决签出特定分支的问题。
checkout(
[
$class: 'GitSCM',
branches: [[name: '${jenkins_branch}']],
extensions: [[$class: 'CloneOption', timeout: 20, noTags: false]],
userRemoteConfigs: [[url: '${jenkins_repo}']]
]
)
在您的特定情况下,需要用dir(){}包围签出
dir ('folder1'){
checkout(
//checkout options as above
)
}
dir ('folder2'){
checkout(
//checkout options as above
)
}
希望它能帮你解决问题。
使用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 Multiple SCM插件将三个git存储库检出到Jenkins作业的三个子目录中。然后,我执行一组命令,以使用从所有三个存储库中提取的信息和代码构建一组工件。 现在已弃用多个SCM,并且文本建议移至管道。我尝试过,但是我不知道如何使它工作。 这是我感兴趣的从詹金斯工作目录的顶层看到的目录结构: 这三个子目录中的每一个都有一个单独的git repo签出。对于
我正在做一个NFC应用程序,想知道这种情况是否可能: 比如说,我在一个项目中有两个NFC标签和两个活动。NFC A是通过在NFC A中编写MIME类型来打开活动A的 在项目的清单文件中,活动A有以下意图过滤器: 所以,这很好用。我将添加另一个NFC标签和另一个活动。NFC B是为了开放活动B而编写的 现在,我应该如何将MIME类型写入NFC B并为活动B设置意图过滤器?考虑到活动A和活动B都在一个
问题内容: 我有两个卡夫卡喷口,我要将其值发送到同一螺栓。 可能吗 ? 问题答案: 是的,有可能: 您也可以使用任何其他分组。 更新: 为了区分使用者螺栓中的元组(即topic_1或topic_2),有两种可能性: 1)您可以使用操作员ID(如@ user-4870385所建议): 2)您可以使用流名称(@zenbeni建议)。对于这种情况,两个喷口都需要声明命名流,而螺栓需要通过流名称连接到喷口