之前,我使用JenkinsFile在jenkins中运行CI / CD管道,但是现在我们正在迁移到Azure DevOps。因此,要在Mac上的Azure DevOps中建立管道,我使用的是Yaml文件。
在jenkinsfile中,我使用以下语法运行了Groovy脚本:
public void actionPerformed(AnActionEvent event) {
Project project = event.getProject();
String projectBasePath = project.getBasePath();
ProcessBuilder pb = new ProcessBuilder();
pb.directory(projectBasepath);
pb.command("cmd", "/k", "javac src\*.java")
pb.redirectErrorStream(true);
Process process = pb.start();
BufferedReader reader = new BufferedReader(newInputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
... // anything else you need to do
}
,其中“ go()”是常规脚本中的函数
但是,我无法以类似方式配置yaml文件
我在网上发现的是通过gradle build来运行此groovy
我想配置yaml以像在jenkinsfile中一样运行groovy脚本,而不安装gradle或任何第三方。
答案 0 :(得分:0)
在azure devops中配置yaml以运行groovy脚本
如果使用专用代理,则必须在代理计算机上安装:
然后设置环境变量,打开CMD并运行以下命令:
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_101"
setx /M PATH "%PATH%;C:\Program Files\Java\jdk1.8.0_101\bin"
setx GROOVY_HOME "C:\Users\<UserName>\Desktop\apache-groovy-sdk-2.5.7" (the first path is when you extracted the Apache Groovy 2.5.7)
setx /M PATH "%PATH%;C:\Users\<UserName>\Desktop\apache-groovy-sdk-2.5.7\bin" (the first path is when you extracted the Apache Groovy 2.5.7 )
现在,我们可以在构建期间运行groovy脚本而无需安装gradle或任何第三方,在构建定义中添加命令行任务(不是Bash)并选择您的groovy脚本:
如果使用托管代理,则需要更多步骤来下载和解压缩Apache Groovy 2.5.7任务。
希望这会有所帮助。