在Azure Devops中配置Yaml以在Mac上运行Groovy脚本

时间:2019-07-05 10:14:03

标签: groovy azure-devops yaml jenkins-pipeline

之前,我使用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或任何第三方。

1 个答案:

答案 0 :(得分:0)

  

在azure devops中配置yaml以运行groovy脚本

如果使用专用代理,则必须在代理计算机上安装:

  • Java 8 JDK
  • Apache Groovy 2.5.7(以zip下载并提取到一些本地 文件夹)

然后设置环境变量,打开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脚本:

enter image description here

如果使用托管代理,则需要更多步骤来下载和解压缩Apache Groovy 2.5.7任务。

希望这会有所帮助。