当前位置: 首页 > 知识库问答 >
问题:

如何在添加新从机时重写Jenkins从机的环境变量

苏晓博
2023-03-14

使用ec2插件为Jenkins上的耦合作业配置了自动从机。在连接到主服务器之前,我需要重写从服务器的几个环境变量。下面是init脚本,它在作为slave连接之前运行。我做错了什么。谁能帮帮我吗?

#!/bin/sh

sudo mkdir /opt/apache-maven-3.2.5
if [ -d /opt/apache-maven-3.2.5 ]; then
    if [ ! -f /tmp/apache-maven-3.2.5-bin.tar.gz ]; then
        wget -nd -O /tmp/apache-maven-3.2.5-bin.tar.gz https://archive.apache.org/dist/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
    fi
    tar -xvf /tmp/apache-maven-3.2.5-bin.tar.gz
    sudo mv apache-maven-3.2.5 /opt/
    sudo chown -R jenkins:jenkins /opt/apache-maven-3.2.5
fi
PATH=$PATH:/usr/local/bin
DISPLAY=:1
MAVEN_HOME=/opt/apache-maven-3.2.5

Jenkins版本:1.656 Amazon EC2插件:1.31

共有1个答案

商同
2023-03-14

对于您自己的环境变量,您可以使用EnvInject插件。

不幸的是,不可能重写像PATH这样的系统变量,但是您可以在/usr/local/bin或linux发行版中的任何默认位置为mvn可执行文件创建符号链接。

 类似资料:
  • 有没有人尝试过使用Jenkins REST/API或任何其他方式在Jenkins Slave的配置中添加或更新环境变量。 使用Jenkins Swarm插件,我创建了一个slave(它使用JLNP连接到Jenkins master),但是环境变量(复选框没有勾选),并且Swarm client jar没有创建环境变量(默认情况下)。用户可以手动添加if reqd,但我正在寻找是否有一种方法来添加/

  • 问题内容: 我有一个具有环境变量的Jenkins从站(Windows PC)。我更新了从站上的Java版本,因此也更新了环境变量。 当我通过Jenkins Web界面查看此Slave的系统属性时,该属性被报告为旧属性。 在Windows PC上运行会显示正确的值。在Slave的Jenkins Node脚本控制台上运行会显示旧的JAVA_HOME值。 我试图再次删除并添加从站,然后重新启动Jenki

  • 我使用GitLab提供的默认模板创建了一个项目。它附带了一个预定义的Dockerfile,我想在该文件上添加一些额外的环境变量,以便在中使用。 到目前为止,我所做的是在DockerFile中添加ENV值,如下所示: 像这样设置我的: 如何将环境变量传递给Spring应用程序?在IDE内部调试时是否可以使用文件或类似文件,或者必须生成映像才能运行项目? PS:我不认为这是在部署到Docker时外部化

  • 我创建了一个java程序来进行ssh连接,并使用scp进行文件传输。我在jenkins中添加了用户名、主机名和密码作为环境变量。我需要在java程序中访问这些环境变量的值。 我尝试在我的java文件中使用以下选项,但它不起作用。 由于一些安全问题,我无法使用EnvironmentInjectorPlugin。你能给我指一下正确的方向吗。

  • 问题内容: docker-compose.yml 如果更改文件,如何在最小的停机时间内重新加载容器以使用新的环境变量? 问题答案: 如果您使用docker-compose运行yml,则可以运行它,它将重新创建所有具有更改的容器,并保持所有不变的服务不变。 如果您使用版本3文件格式运行容器,则可以对服务进行滚动更新,如果您有多个服务实例在运行,它将防止任何停机。此功能仍是非常新的功能,您需要1.13

  • 我想给詹金斯加一个新奴隶。当我跟踪Jenkins UI时,它给我以下命令 当我尝试执行该命令时,其输出如下: 你能帮我解决一下这个错误吗?任何帮助都将不胜感激。提前道谢。 最诚挚的问候。