Откуда go job берет переменные окружения?

Когда я выполняю команду printenv на go-agent

go@05f749b73185:/tmp$ printenv
HOSTNAME=05f749b73185
SHELL=/bin/bash
USER=go
LS_COLORS=
MAVEN_VERSION=3.3.9
MAIL=/var/mail/go
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
MAVEN_HOME=/usr/share/maven
PWD=/tmp
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
LANG=en_US.UTF-8
HOME=/var/go
SHLVL=2
LOGNAME=go
LC_CTYPE=en_US.UTF-8
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
_=/usr/bin/printenv

Но когда я выполняю команду printenv из задания, я получаю этот результат

06:57:26.482 [go] Start to execute task: <exec command="printenv" />.
06:57:26.493 GO_SERVER_URL=https://go-server:8154/go/
06:57:26.493 JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
06:57:26.494 SHLVL=2
06:57:26.494 MAVEN_HOME=/usr/share/maven
06:57:26.495 LOG_DIR=/var/log/go-agent
06:57:26.495 GO_TRIGGER_USER=anonymous
06:57:26.495 GO_SERVER=go-server
06:57:26.496 GO_PIPELINE_LABEL=8
06:57:26.496 GO_STAGE_NAME=build
06:57:26.497 HOSTNAME=05f749b73185
06:57:26.497 PWD=/var/lib/go-agent
06:57:26.498 GO_STAGE_COUNTER=1
06:57:26.498 AGENT_WORK_DIR=/var/lib/go-agent
06:57:26.499 GO_JOB_NAME=Compile
06:57:26.499 MAVEN_VERSION=3.3.9
06:57:26.499 OLDPWD=/etc/service/go-agent
06:57:26.500 LC_CTYPE=en_US.UTF-8
06:57:26.500 AGENT_STARTUP_ARGS=-Dcruise.console.publish.interval=10 -Xms128m -Xmx256m    -Djava.security.egd=file:/dev/./urandom
06:57:26.501 GO_FROM_REVISION=b6f8f0f3bedabe1cc0ffa1334c290f32da723cde
06:57:26.501 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
06:57:26.501 GO_TO_REVISION=b6f8f0f3bedabe1cc0ffa1334c290f32da723cde
06:57:26.502 USER=go
06:57:26.502 GO_SERVER_PORT=8153
06:57:26.502 GO_PIPELINE_NAME=DropwizardSeed
06:57:26.503 HOME=/var/go
06:57:26.503 UID=103
06:57:26.503 GO_ENVIRONMENT_NAME=local
06:57:26.506 INITRD=no
06:57:26.507 GO_PIPELINE_COUNTER=8
06:57:26.508 GO_REVISION=b6f8f0f3bedabe1cc0ffa1334c290f32da723cde
06:57:26.509 LANG=en_US.UTF-8

Если вы посмотрите на переменную среды JAVA_HOME, она отличается между вызовом задания и вызовом напрямую, когда вы вошли в систему. Эту проблему можно решить, установив переменную среды в конвейере, но как мне настроить свой go-сервер и go-агенты, чтобы мне не приходилось этого делать? Что делать, если я хочу использовать другой JDK по умолчанию?

Откуда берется эта переменная среды JAVA_HOME?


person emanuel502    schedule 24.06.2016    source источник


Ответы (1)


Вы проверили /etc/default/<agent-name>
В этом файле вы можете определить значения по умолчанию для агента, а также вы можете определить переменные среды с помощью команды export.

person Amit    schedule 18.11.2016