2017-06-14 54 views
0

我正在使用EC2LatentBuildSlave来锯割运行构建从站的EC2实例。我想标记奴隶,以便在EC2仪表板标签选项卡中显示标签。如何向Buildbot添加标签EC2LatentBuildSlave

我传递

tags={'Key':'BuildbotType', 'Value':'slaveName'} 

,但我不能看到催生EC2实例的标签。 我误解了这个参数吗?

感谢您的帮助。

回答

0

这似乎是buildbot版本0.8.12中的一个bug。不幸的是,我们现在无法升级。相反,我在基本AMI上安装了一个init脚本(服务),该脚本读取user_data并标记其自身。我使用EC2LatentBuildSlave中的user_data字段传递标签详细信息。

login_aws() { 
    # Some code to configer aws access keys. 
} 

get_userdata() { 
    AWS_USERDATA=$(curl -s http://169.254.169.254/latest/user-data) 
    echo $AWS_USERDATA 
} 

tag_self_for_identification() { 
    login_aws 
    INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id) 
    if [ -z "$INSTANCE_ID" ]; then 
    echo "Error unable to obtain instance id" 
    return 0 
    fi 

    USERDATA=get_userdata 
    set $USERDATA 
    NAME="$2 $3" 
    if [ ! -z "$NAME" ]; then 
    echo "aws ec2 create-tags --resources $INSTANCE_ID --tags Key=Name,Value=$NAME" 
    aws ec2 create-tags --resources $INSTANCE_ID --tags Key=Name,Value="$NAME" \ 
    Key=Buildbot,Value=Latentslave 
    fi 
} 

tag_self_for_identification 

这是一个非常过分的工程解决方案。然而,我需要标签来为一些lambda函数工作,以便能够识别这些latentlsave