【问题标题】:Maven environment variable used for AEM credentials in pom.xml ignored by Jenkins jobsJenkins 作业忽略了 pom.xml 中用于 AEM 凭据的 Maven 环境变量
【发布时间】:2017-04-30 05:07:06
【问题描述】:

我目前正在尝试让我的 Jenkins(2.35 版)作业为 AEM(6.2)作者/出版商启动并运行。在这个设置中,我有 Dev、Staging 和 Production 环境。为了避免在我的 pom.xml 中对我的凭据进行版本控制,我在 环境变量 中使用了>maven(版本 3.3.9)。

<properties>
    <aem.host>localhost:4502</aem.host>
    <aem.protocol>http</aem.protocol>
    <aem.user>${env.AEM_AUTHOR_USER}</aem.user>
    <aem.password>${env.AEM_AUTHOR_PASSWORD}</aem.password>
</properties>

在我的本地环境中,我测试了将这些环境变量设置为正确的值,然后是错误的值,它的行为就像人们想象的那样。

这里的事情是,当我在 Jenkins 服务器上构建 Dev Author job 时,它似乎成功 strong> 环境变量是否设置为正确的值。这太奇怪了,在这一点上,我不知道发生了什么。我正在通过一个简单的方式在 Jenkins 服务器上设置环境变量。

source ~/path/to/file

~/path/to/file 如下所示:

AEM_AUTHOR_USER="admin"
AEM_AUTHOR_PASSWORD="admin"

我还应该提到,之前在 maven 中使用环境变量时,我在 pom.xml 中直接使用了 AEM 凭据,仅用于开发作业。

我想知道 Jenkins 是否缓存了 maven 属性,因此凭据和重新设置环境变量没有效果。我还应该提到我已经尝试在每个新版本上重新创建工作区,看看它是否会清除一些缓存系统但没有骰子。

Jenkins 或 Maven 是否将我的 Maven 属性缓存在我的环境变量被忽略的地方?

有人遇到过我描述的问题吗?

我应该使用 EnvInject 插件 Jenkins 插件吗?

欢迎任何帮助。

谢谢, 尼古拉

【问题讨论】:

    标签: maven jenkins environment-variables jenkins-plugins aem


    【解决方案1】:

    就我的开发工作而言,Jenkins 似乎使用了某种我无法清除的缓存系统。即使在删除工作区或删除缓存文件夹后

    /home/jenkins/.jenkins/cache
    

    无论如何,在尝试了很多尝试重新控制我的 pom.xml 中设置的 AEM 凭据的值之后,我想出了如何控制解决我的问题的 pom.xml 环境变量的值。我这样做的方法是安装 EnvInject 插件,之后我可以在所有作业中单独配置我的 maven 环境变量。现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-27
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 2019-07-07
      • 2020-04-10
      • 2021-01-21
      相关资源
      最近更新 更多