Jenkins -如何为第二个git repo执行“git clone”(在主repo之外)

0ejtzxu1  于 2023-05-06  发布在  Jenkins
关注(0)|答案(1)|浏览(177)

我能够配置Jenkins声明性管道,它正在为我的gitproject1repo执行。这是通过目标git repo的标准Jenkins配置完成的。
但是现在我需要对我的project2执行第二次“git clone”操作,在project2中运行一些脚本,然后Jenkins需要继续在project1中运行。如何实现这一点?直到现在,我只在Project1 Repo中工作。但现在我需要在克隆project1的同一级别中克隆project2(而不是在project1中)

--project1_repo
  -->root/base/files
--project2_repo
  -->root/base/files

我需要在Jenkins继续为project1构建之前在project2中运行一些脚本。当然,只有当代码被推送到项目1时,才会触发作业。
请告诉我如何解决这个问题。

suzh9iv8

suzh9iv81#

你在找下面这样的东西吗?您可以使用git步骤来 checkout 存储库,这将为您提供更多的灵活性。

pipeline {
    agent any

    stages {
        stage('Project1'){
            steps{
                cleanWs()
                dir('project1') {
                    // Doing your project 1 stuff
                    git(url: 'https://github.com/xxx/proj1.git', branch: 'main')
                }
                
            }
        }
        stage('Project 2'){
            steps{
                dir('project2') {
                    // Doing your project 2 stuff
                    git(url: 'https://github.com/xxx/proj2.git', branch: 'dev')
                }
                
            }
        }
        stage('Something Else'){
            steps{
               sh 'ls -al'         
            }
        }
    }
}

更新

pipeline {
    agent any

    stages {
        stage('Project1'){
            steps{
                cleanWs()
                echo "Let's move proj 1 stuff to a sub dir"
                sh '''
                mkdir project1
                shopt -s extglob dotglob
                mv !(project1) project1
                '''
            }
        }
        stage('Project 2'){
            steps{
                dir('project2') {
                    // Doing your project 2 stuff
                    git(url: 'https://github.com/xxx/proj2.git', branch: 'main')
                }
                
            }
        }
        stage('Something Else'){
            steps{
               sh 'ls -al'               
            }
        }
    }
}

相关问题