で変数を設定します/etc/profile
。端末(puttyからsshを介してログイン)http_proxy
でコマンドを実行すると、正しく表示されます。env
env
ただし、Jenkinsでコマンドを実行しようとすると、この変数は存在しません。エクスポート/etc/profile
。http_proxy
以下は私です。/etc/profile
MY_PROXY_URL="http://web-proxy.corp.mycorp.net:8080"
HTTP_PROXY=$MY_PROXY_URL
HTTPS_PROXY=$MY_PROXY_URL
FTP_PROXY=$MY_PROXY_URL
http_proxy=$MY_PROXY_URL
https_proxy=$MY_PROXY_URL
ftp_proxy=$MY_PROXY_URL
export HTTP_PROXY HTTPS_PROXY FTP_PROXY http_proxy https_proxy ftp_proxy
Jenkinsで次のコマンドを実行すると、
if [ -z $PS1 ] # no prompt?
then
echo "non-interactive"
else
echo "interactive"
fi
非対話型で表示されます。だから私たちは次のことを試しました。 .bashrcファイルに以下を入れました。
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
if [ -f ~/.bashrc ] ; then
source ~/.bashrc
fi
しかし、まだenv
表示されませんhttp_ptoxy
。助けてください。 Centos 7.7仮想マシンを使用しています。
答え1
デフォルトでは、Jenkinsはsh
代わりにを使用してbash
シェルステップを実行します。
「シェルの実行」セクションのヘルプ/疑問符アイコンから:
Runs a shell script (defaults to sh, but this is configurable) for building the project.
Jenkinsの管理 - >システム構成に移動すると、シェルスクリプトで使用するシェルの名前または絶対パスを設定するオプション(「Shell Executable」と呼ばれる)があります。