有没有办法从Jenkins管道脚本中调用GIT repo中的脚本?

时间:2018-06-08 06:38:38

标签: git jenkins github jenkins-pipeline

我有一个Jenkins管道作业,其中我提到了GHE repo1,其中编写了管道脚本。现在在GHE repo1的管道脚本中,我想调用一个我在GHE repo2中保存的nodejs脚本。我怎么能从这个Jenkins工作中没有提到的远程repo2打电话?我尝试在我的管道脚本中克隆repo2,但它给出了错误

range = xlWorkSheet.Cells.get_Range("B2:H10").Select()

2 个答案:

答案 0 :(得分:0)

我可以使用以下代码:

stages
  {
       stage('Clone repo1')
       { 
            steps
            {
              dir('repo1') 
              {
                 git url: 'XXXXXXX',
                 branch: 'master',
                 credentialsId: 'XXXXXXX'
              }
           }
       }
     }

答案 1 :(得分:0)

您还可以将其他SSH密钥保存在Jenkins凭据中,然后使用本机git命令(在脚本管道中工作,我不了解声明性管道):

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

 if ([defaults boolForKey:@"LoggedIn"]) 
 {    
     UIViewController*vc = [storyboard instantiateViewControllerWithIdentifier:@"homeID"];
     UINavigationController*nav = [[UINavigationController alloc] initWithRootViewController:vc];
     self.window.rootViewController = nav

  }else
  {

     UIViewController*vc = [storyboard instantiateViewControllerWithIdentifier:@"loginID"];
     UINavigationController*nav = [[UINavigationController alloc] initWithRootViewController:vc];
     self.window.rootViewController = nav
  }

这需要构建代理的path变量中的git可执行文件。我正在使用git for windows。

编辑:这是一个潜在的安全问题,因为SSH密钥保存在文件中,可以被其他作业读取!!