如何使用 Azure 管道调用 github 存储库,在这种情况下构建代码(Pom 文件)。
我的领导说,我不需要克隆或导入代码,而是需要使用我们用来使用 Maven 构建它的 Azure yaml 模板来调用 github 存储库/代码。
我真的需要 Azure 中的 github 服务连接吗?或者我是否需要添加一个任务(例如脚本)来调用 github 存储库?
任何意见都将受到高度赞赏!谢谢!
无法从 github 克隆并导入代码。
当你创建DevOps pipeline时,它会要求你选择源代码,你可以指定github,它会重定向到授权页面,完成后,将创建与github的服务连接
automatically
如果你不这样做以前没有过。
您可以按照官方文档创建您的第一个管道了解详细信息。
在 yaml 管道中,当前存储库(在本例中为 github)将默认检出到代理机器,您不需要添加任务/脚本来拉取代码。如果您需要查看其他存储库,请查看文档这里。
只需确保您已在 github 存储库上存储了构建文件(POM 文件等)。然后在yaml内容中,可以添加maven任务或者命令行,示例:
steps:
- task: Maven@4
inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
这也很有帮助; 您可以在自己的 AzureDevops 存储库中拥有管道定义,并使用它从“远程”GitHub 存储库(本例中为公共存储库)构建代码。
您不需要配置与 git 的服务连接,可以简单地克隆代码。
azure-pipelines.yml示例:
trigger:
- none
variables:
GithubRepoUrl: https://github.com/YourGitHubName/YourGitHubRepoName.git
GithubRepoName: YourGitHubRepoName
steps:
# Checkout the repo containing current pipeline definition (optional)
- checkout: self
# Checkout the actual GitHub repo containing your code
- script: git clone $(GithubRepoUrl)
displayName: "Checkout code from GitHub repo"
# Build your code
- task: Maven@3
inputs:
mavenPomFile: '$(GithubRepoName)/pom.xml'
goals: 'clean package'
这将从AzureDevops代理中的GitHub克隆代码并使用Maven任务构建它,当然您可以使用其他任务或命令/脚本来构建。