在Jenkins管道中合并Git命令

阿苏尔

我的任务是从Bitbucket中提取代码,并检查是否有新提交的文件或从上次提交修改的文件。如果有任何混乱,我需要将文件名和路径复制到.csv文件。在commmand下面将检查diff并复制到.csv文件。但是,同样的活动需要通过Jenkinsfile管道进行。

git diff --name-only --diff-filter=M @~ > list.csv

Jenkinsfile脚本:-

#!groovy
void Download_Repositories(){
      checkout([
        $class: 'GitSCM', branches: [[name: '*/master']],
        extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'code']],
        userRemoteConfigs: [[url: '[email protected]:org-dev/master.git',
        credentialsId:'service-user']]
      ])
}
pipeline {
    agent { label 'LABEL' }
//    triggers { pollSCM('*/5 * * * *') }
  stages {
      stage('Download Repositories') {
        steps {
            Download_Repositories()
            sh '''
            ls -ltr code/playbooks/
            git diff --name-only --diff-filter=M @~ > list.csv
            '''
          }
        }

   }//stages
}//pipeline

错误:-

usage: git diff [--no-index] <path> <path>
阿米特·纳纳瓦(Amit Nanaware)

您正在代码目录中签出,因此您需要使用代码目录作为工作目录。默认情况下,所有步骤都将运行到项目工作区中。

您可以dir用来更改工作目录,请参见以下示例:

steps{
    Download_Repositories()
    dir("${WORKSPACE}/code"){
        sh '''
            ls -ltr code/playbooks/
            git diff --name-only --diff-filter=M @~ > list.csv
            '''
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章