我想给詹金斯写信
post-initialisation
groovy中使用
AWS CLI
. 我的詹金斯住在
corporate proxy
,并将其配置为myproxy端口3128,其中有用户名和密码,无代理为“10.*.*.*,ap-southern-2.compute.internal,localhost,127.0.0.1,myothernoproxydomains.com”。
我正在尝试的groovy代码如下:
def sg = "curl http://169.254.169.254/latest/meta-data/security-groups".execute().text
"aws ec2 describe-security-groups \
--region ap-southeast-2 \
--filters Name=group-name,Values=${sg} \
--query SecurityGroups[0].GroupId \
--output text".execute().text
如果我注释掉第二个命令,并在jenkins脚本控制台中运行它,它运行良好,我可以打印安全组名称。但如果我允许运行第二个命令,我最终会从我的chrome浏览器中得到一条消息,
“这个页面不起作用”,myjenkins.mydomain.com花了太长时间才回复。HTTP错误504。
jenkins在其他上下文中使用http代理没有问题,例如下载包、插件等。
我注意到,与http代理相关的环境变量不会出现在system.genenv中:
System.getenv()
Result: {PATH=/sbin:/usr/sbin:/bin:/usr/bin, SHELL=/bin/bash, LOGNAME=jenkins, PWD=/, USER=jenkins, LANG=en_US.UTF-8, SHLVL=2, HOME=/var/lib/jenkins, _=/etc/alternatives/java}
我见过在其他站点的其他jenkins上调用aws cli的groovy代码。我想这可能与代理有关?
我做错什么了吗?有什么想法吗?