Return 来自 Java 函数的环境变量,并在 Jenkins 中为 运行 构建设置相同的变量

Return Environment variable from a Java function and set the same in Jenkins for running builds

我在我的项目中编写了一个 Java 函数,它允许我设置要用于 运行 自动化测试的环境值。

public static String setURL(String paramSet) {

        if (paramSet.equalsIgnoreCase("env1")) {
            baseURL = env1;

        } else if (paramSet.equalsIgnoreCase("env2")) {
            baseURL = env2;
        }
        return baseURL;
    }

    public static String getURL() {
        return setURL("env1");
    }

上面写的代码returns我URL,然后它原样用于所有测试。我如何通过 Jenkins 开始并告诉我的 Java 项目我想在哪个环境中触发 运行?

您好,您为什么要将环境变量从 Java 传递给 Jenkins?通常它以相反的方式完成。在 Jenkins 上,您可以定义参数,例如。 BASE_URL 并将它们传递给您用于构建项目的命令。对于 Maven,它看起来像这样:

maven clean install -DBASE_URL="$MY_JENKINS_PARAM"

然后你就可以在 Java

中得到它们的值
public static String getUrl() {
    return System.getenv("BASE_URL"));
}