如何解决在Jenkins中,如何运行调用AWS CLI的Python脚本
我正在尝试配置Jenkins构建以运行使用AWS CLI的Python脚本。
从命令行运行时,脚本运行没有问题
UnderscoredTextField(textBindingManager: TextBindingManager(limit: 1))
但是,当我尝试在Jenkins版本中运行相同的命令时,会得到以下信息:
cd /home/pi python3 AmzTools/Run_Notifications.py
我首先想到的是AWS的配置不正确,所以我尝试为SUDO和jenkins用户配置它,但是我仍然遇到相同的错误。
我如何配置Jenkins构建,使其以我的默认用户(在这种情况下为22:06:19 Started by user Paul Anderson
22:06:19 Running as SYSTEM
22:06:19 Building in workspace /home/pi
22:06:19 [pi] $ /bin/sh -xe /tmp/jenkins10138978078974220181.sh
22:06:19 + BUILD_USER=pi
22:06:19 + python3 AmzTools/Run_Notifications.py
22:06:22 UNEXPECTED EXCEPTION - add handing for this
22:06:22 Traceback (most recent call last):
22:06:22 File "/home/pi/AmzTools/AWS/Notifications.py",line 72,in get_offer_notifications
22:06:22 sqs = boto3.resource('sqs')
22:06:22 File "/usr/local/lib/python3.7/dist-packages/boto3/__init__.py",line 92,in resource
22:06:22 return _get_default_session().resource(*args,**kwargs)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/boto3/session.py",line 389,in resource
22:06:22 aws_session_token=aws_session_token,config=config)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/boto3/session.py",line 263,in client
22:06:22 aws_session_token=aws_session_token,config=config)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/session.py",line 861,in create_client
22:06:22 client_config=config,api_version=api_version)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/client.py",line 76,in create_client
22:06:22 verify,credentials,scoped_config,client_config,endpoint_bridge)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/client.py",line 285,in _get_client_args
22:06:22 verify,endpoint_bridge)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/args.py",line 45,in get_client_args
22:06:22 endpoint_url,is_secure,scoped_config)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/args.py",line 111,in compute_client_args
22:06:22 service_name,region_name,endpoint_url,is_secure)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/client.py",line 358,in resolve
22:06:22 service_name,region_name)
22:06:22 File "/usr/local/lib/python3.7/dist-packages/botocore/regions.py",line 122,in construct_endpoint
22:06:22 partition,service_name,line 135,in _endpoint_for_partition
22:06:22 raise NoRegionError()
**22:06:22 botocore.exceptions.NoRegionError: You must specify a region.**
22:06:38 Terminated
22:06:38 Build was aborted
22:06:38 Aborted by Paul Anderson
22:06:38 Finished: ABORTED
)运行,或者以其他方式使它工作?
解决方法
我已经弄清楚我要去哪里了,所以在其他人遇到相同问题的情况下发布答案。
事实证明,我在配置AWS时没有登录Jenkins用户,因此当该构建以Jenkins用户身份调用AWS CLI时,它看不到凭据。我只需要以jenkins身份登录并设置我的AWS配置。
我尝试了su - jenkins
,但是它要求输入密码,默认情况下未设置。
我设置了密码-sudo passwd jenkins
以jenkins用户身份登录-su - jenkins
然后使用我的凭证aws configure
感谢@marcin提醒我继续寻找该地区。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。