我有一个在EC2实例上测试过的python脚本,该脚本在服务器上可以正常运行,但是当我尝试从Jenkins作业传递相同的参数时,如下所示。我收到错误消息:安全组在vpc vpc-d79691b9中创建了sg -ca09bcae。追溯(最近一次呼叫最近):文件“ ./create_sg.py”,位于'FromPort'中的第32行:int(FROM_PORT_1.strip(“”))),标记为构建失败完成:FAILURE> ValueError:int的无效文字()以10为基数:“在”构建步骤“执行外壳”中我很确定该错误是由于我通过Jenkins参数传递的字符串参数引起的,但是在jenkins参数中没有选择将From和To端口都作为整数发送。如何在Jenkins构建作业中将参数设置为整数?创建SG的Python代码:#!/usr/bin/env pythonimport sysimport boto3from botocore.exceptions import ClientErrorregion = "us-west-1"VPC_ID=sys.argv[1]SECURITY_GROUP_NAME=sys.argv[2]DESCRIPTION=sys.argv[3]IP_PROTOCOL_1=sys.argv[4]FROM_PORT_1=sys.argv[5]TO_PORT_1=sys.argv[6]CIDR_IP_1=sys.argv[7]ec2 = boto3.client('ec2')response = ec2.describe_vpcs()vpc_id = VPC_IDtry: response = ec2.create_security_group(GroupName=SECURITY_GROUP_NAME,Description=DESCRIPTION,VpcId=VPC_ID) security_group_id = response['GroupId'] print('Security Group Created %s in vpc %s.' % (security_group_id, vpc_id)) data = ec2.authorize_security_group_ingress( GroupId=security_group_id, IpPermissions=[ {'IpProtocol': IP_PROTOCOL_1, 'FromPort': int(FROM_PORT_1), 'ToPort': int(TO_PORT_1), 'IpRanges': [{'CidrIp': CIDR_IP_1}]} ] ) print('Ingress Successfully Set %s' % data)except ClientError as e: print(e)@nosklo,建议我尝试以下操作:VPC_ID=sys.argv[1] SECURITY_GROUP_NAME=sys.argv[2]DESCRIPTION=' '.join(sys.argv[3:-4])IP_PROTOCOL_1=sys.argv[-4]FROM_PORT_1=sys.argv[-3]TO_PORT_1=sys.argv[-2] CIDR_IP_1=sys.argv[-1]与端口相对于我在参数中传递的值一起列出的0。
添加回答
举报
0/150
提交
取消