我有一个Jenkins管道作业,其中我提到了GHE repo1,其中编写了管道脚本。现在在GHE repo1的管道脚本中,我想调用一个我在GHE repo2中保存的nodejs脚本。我怎么能从这个Jenkins工作中没有提到的远程repo2打电话?我尝试在我的管道脚本中克隆repo2,但它给出了错误
range = xlWorkSheet.Cells.get_Range("B2:H10").Select()
答案 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密钥保存在文件中,可以被其他作业读取!!