添加新slave时如何覆盖Jenkins从属的环境变量

时间:2016-06-23 19:31:52

标签: jenkins

使用ec2 plugin在Jenkins上为成对作业配置自动从属。在连接到master之前,我需要为从属设备覆盖几个环境变量。这是在作为slave连接之前用于运行的init脚本。我究竟做错了什么。有人可以帮助我吗?

问题: 我能够启动一个奴隶,但无法为该奴隶设置环境变量。

目标: 安装maven-3.2.5(将主目录设置为/opt/apache-maven-3.2.5), 环境变量:(名称:DISPLAY,值:: 1),                        (名称:PATH,值:$ PATH:/ usr / local / bin)

#!/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

詹金斯版本:1.656 Amazon EC2插件:1.31

1 个答案:

答案 0 :(得分:0)

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

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