华为云用户手册

  • Python 修改预定义标签 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import GlobalCredentials from huaweicloudsdktms.v1.region.tms_region import TmsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdktms.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = GlobalCredentials(ak, sk) \ client = TmsClient.new_builder() \ .with_credentials(credentials) \ .with_region(TmsRegion.value_of("cn-north-4")) \ .build() try: request = UpdatePredefineTagsRequest() oldTagbody = PredefineTagRequest( key="ENV2", value="DEV2" ) newTagbody = PredefineTagRequest( key="ENV1", value="DEV1" ) request.body = ModifyPrefineTag( old_tag=oldTagbody, new_tag=newTagbody ) response = client.update_predefine_tags(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表5 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表7 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表9 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表11 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 405 表12 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表13 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 406 表14 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表15 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 409 表16 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表17 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 410 表18 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表19 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 412 表20 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表21 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 429 表22 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表23 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 500 表24 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表25 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 501 表26 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表27 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 503 表28 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表29 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。说明:由于TMS是全局服务,因此调用IAM服务获取用户Token接口时需要注意作用域即scope字段应该设置为domain。响应消息头中X-Subject-Token的值即为用户Token。 表2 请求Body参数 参数 是否必选 参数类型 描述 new_tag 是 PredefineTagRequest object 修改后的标签 old_tag 是 PredefineTagRequest object 修改前的标签 表3 PredefineTagRequest 参数 是否必选 参数类型 描述 key 是 String 键。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 value 是 String 值。每个值最大长度43个字符,可以为空字符串。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
  • 状态码 状态码 描述 200 OK 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 409 Conflict 410 Gone 412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 tags Array of TagVo objects 资源标签列表 表5 TagVo 参数 参数类型 描述 key String 键。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 value String 值。 最大长度43个字符,可以为空字符串。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表7 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表9 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表11 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 405 表12 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表13 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 406 表14 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表15 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 409 表16 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表17 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 410 表18 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表19 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 412 表20 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表21 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 429 表22 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表23 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 500 表24 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表25 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 501 表26 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表27 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 503 表28 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表29 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息
  • 状态码 状态码 描述 204 No Content 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 409 Conflict 410 Gone 412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
  • Python 删除预定义标签 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import GlobalCredentials from huaweicloudsdktms.v1.region.tms_region import TmsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdktms.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = GlobalCredentials(ak, sk) \ client = TmsClient.new_builder() \ .with_credentials(credentials) \ .with_region(TmsRegion.value_of("cn-north-4")) \ .build() try: request = DeletePredefineTagsRequest() listTagsbody = [ PredefineTagRequest( key="ENV1", value="DEV1" ), PredefineTagRequest( key="ENV2", value="DEV2" ) ] request.body = ReqDeletePredefineTag( tags=listTagsbody, action="delete" ) response = client.delete_predefine_tags(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • Go 删除预定义标签 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global" tms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/tms/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/tms/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/tms/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := global.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := tms.NewTmsClient( tms.TmsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.DeletePredefineTagsRequest{} var listTagsbody = []model.PredefineTagRequest{ { Key: "ENV1", Value: "DEV1", }, { Key: "ENV2", Value: "DEV2", }, } request.Body = &model.ReqDeletePredefineTag{ Tags: listTagsbody, Action: model.GetReqDeletePredefineTagActionEnum().DELETE, } response, err := client.DeletePredefineTags(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • 请求示例 删除预定义标签 POST https://{Endpoint}/v1.0/predefine_tags/action { "action" : "delete", "tags" : [ { "key" : "ENV1", "value" : "DEV1" }, { "key" : "ENV2", "value" : "DEV2" } ] }
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表5 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表7 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表9 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表11 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 405 表12 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表13 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 406 表14 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表15 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 409 表16 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表17 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 410 表18 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表19 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 412 表20 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表21 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 429 表22 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表23 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 500 表24 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表25 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 501 表26 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表27 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 503 表28 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表29 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。说明:由于TMS是全局服务,因此调用IAM服务获取用户Token接口时需要注意作用域即scope字段应该设置为domain。响应消息头中X-Subject-Token的值即为用户Token。 表2 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识(区分大小写):delete(删除) tags 是 Array of PredefineTagRequest objects 标签列表 表3 PredefineTagRequest 参数 是否必选 参数类型 描述 key 是 String 键。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 value 是 String 值。每个值最大长度43个字符,可以为空字符串。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
  • 响应示例 状态码: 200 OK { "marker" : "12", "total_count" : 13, "tags" : [ { "key" : "ENV1", "value" : "DEV1", "update_time" : "2017-04-12T14:22:34Z" }, { "key" : "ENV2", "value" : "DEV2", "update_time" : "2017-04-12T14:22:34Z" } ] }
  • 状态码 状态码 描述 200 OK 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 409 Conflict 410 Gone 412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 marker String 分页位置标识(索引)。 total_count Integer 查询到的标签总数 tags Array of PredefineTag objects 查询到的标签列表 表4 PredefineTag 参数 参数类型 描述 key String 键。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 value String 值。每个值最大长度43个字符,可以为空字符串。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 update_time String 更新时间,采用UTC时间表示。2016-12-09T00:00:00Z 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表6 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表8 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表10 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表12 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 405 表13 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表14 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 406 表15 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表16 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 409 表17 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表18 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 410 表19 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表20 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 412 表21 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表22 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 429 表23 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表24 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 500 表25 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表26 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 501 表27 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表28 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息 状态码: 503 表29 响应Body参数 参数 参数类型 描述 error RespErrorMessage object 响应错误信息 表30 RespErrorMessage 参数 参数类型 描述 error_code String 请求错误码 error_msg String 错误信息
  • URI GET /v1.0/predefine_tags 表1 Query参数 参数 是否必选 参数类型 描述 key 否 String 键,支持模糊查询,不区分大小写,如果包含“non-URL-safe”的字符,需要进行“urlencoded”。 value 否 String 值,支持模糊查询,不区分大小写,如果包含“non-URL-safe”的字符,需要进行“urlencoded”。 limit 否 Integer 查询记录数。 最小为1,最大为1000,未输入时默认为10,为0时不限制查询数据条数。 最小值:1 最大值:1000 缺省值:10 marker 否 String 分页位置标识(索引)。从marker指定索引的下一条数据开始查询。说明:查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据响应体中marker值配入此参数,当返回的tags为空列表时表示查询到最后一页。 order_field 否 String 排序字段: 可输入的值包含(区分大小写):update_time(更新时间)、key(键)、value(值)。 只能选择以上排序字段中的一个,并按照排序方法字段order_method进行排序,如果不传则默认值为:update_time。 如以下: 若该字段为update_time,则剩余两个默认字段排序为key升序,value升序。 若该字段如为key,则剩余两个默认字段排序为update_time降序,value升序。 若该字段如为value,则剩余两个默认字段排序为update_time降序,key升序。 若该字段不传,默认字段为update_time,则剩余两个默认字段排序为key升序,value升序。 缺省值:update_time order_method 否 String order_field字段的排序方法。 可输入的值包含(区分大小写): asc(升序) desc(降序) 只能选择以上值的其中之一。 不传则默认值为:desc 缺省值:desc
  • ecs-in-allowed-security-groups 指定高危安全组ID列表,未绑定指定标签的ECS资源关联其中任意安全组,视为“不合规”。 参数 specifiedECSTagKey:指定的ECS的标签键,字符串类型。 specifiedECSTagValue:指定的ECS的标签值列表,如果列表为空,表示允许所有值,数组类型,最多包含10个元素。 specifiedSecurityGroupIds:指定的高危安全组的ID列表,数组类型,最多包含10个元素。
  • 处理方法 将当前用户加入Docker组,请按如下方法添加: 使用有sudo权限的账号登录到服务器系统,如testuser; 查看用户组中是否已存在Docker组,方法如下: sudo cat /etc/group | grep docker 若存在,将当前用户加入Docker组: sudo usermod -aG docker testuser 若不存在,创建Docker组后,再添加: sudo groupadd docker sudo usermod -aG docker testuser 退出当前登录状态,然后重新登录,检测是否可执行Docker命令,方法如下: docker info 如果提示“get ......dial unix /var/run/docker.sock权限不够”,则修改/var/run/docker.sock权限,方法如下: sudo chmod a+rw /var/run/docker.sock
  • 使用yaml配置制作镜像并上传到SWR仓库 上传到SWR前,需了解SWR(容器镜像服务)的约束与限制。 1 2 3 4 5 6 7 8 9 10 11 12 version: 2.0 # 必须是2.0 steps: BUILD: - build_image: name: buildImage inputs: regions: ["x-x-x", "x-x-xxx"] organization: codeci_test image_name: demo image_tag: ${GIT_COMMIT} dockerfile_path: dockerfile/Dockerfile # set_meta_data: true 参数名 参数类型 描述 是否必填 默认值 regions list 选择要上传的区域SWR。默认上传到当前任务所在region的SWR。 否 无 organization string 上传到的SWR组织。 是 无 image_name string 镜像名。 否 demo image_tag string 镜像标签。 否 v1.1 context_path string docker的上下文路径。 否 . dockerfile_path string dockerfile文件相对context_path的路径。 否 ./Dockerfile set_meta_data bool 是否添加构建元数据到镜像。 否 false 父主题: 单任务配置
  • 配置说明 参数名 参数类型 描述 是否必填 默认值 settings map maven构建的setting配置。 否 无 cache bool 是否开启缓存。 否 false command string 执行命令。 是 无 unit_test map 单元测试。 否 无 单元测试(unit_test)层级下参数说明: 参数名 参数类型 描述 是否必填 默认值 enable bool 是否处理单元测试数据。 否 true ignore_errors bool 是否忽略单元测试错误。 否 true report_path String 单元测试数据路径。 是 无 converage bool 是否处理覆盖率数据。 否 false coverage_report_path string 覆盖率数据路径。 否 无
  • 使用yaml配置sbt构建 1 2 3 4 5 6 7 version: 2.0 # 必须是2.0 steps: BUILD: - sbt: inputs: command: | sbt package 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 父主题: 单任务配置
  • 使用yaml配置执行docker命令 1 2 3 4 5 6 7 version: 2.0 # 必须是2.0 steps: BUILD: - docker: inputs: command: | docker pull swr.xx-xxxxx-x.myxxcloud.com/codeci/dockerindocker:dockerindocker18.09-1.3.2 参数名 参数类型 描述 是否必填 默认值 command string 执行命令,每个命令一行。支持的docker命令:build、tag、push、pull、login、logout、save。 是 无 父主题: 单任务配置
  • 使用yaml配置上传文件至OBS 对象存储服务(OBS)的使用限制请参考约束与限制。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 version: 2.0 # 必须是2.0 steps: BUILD: - upload_obs: inputs: artifact_path: "**/target/*.?ar" bucket_name: codecitest-obs obs_directory: test # artifact_dest_name: "" # upload_directory: true # headers: # x-frame-options: true # test: test # commit: ${commitId} 参数名 参数类型 描述 是否必填 默认值 artifact_path string 要上传的产物路径,支持正则。 否 bin/* bucket_name string 要上传到的obs桶名。 是 无 obs_directory string 要上传到的obs文件夹路径。默认上传到桶的根目录。 否 ./ artifact_dest_name string 上传到obs后的文件名。产物需要重命名时填写。 否 无 upload_directory bool 是否上传文件夹。false时会将匹配到的所有产物平铺上传到obs_directory。 否 false headers map 上传的头域信息。 否 无 父主题: 单任务配置
  • 操作步骤 新建构建任务时,在“源码源”处选择“GitHub”。首次使用GitHub连接,需要新建扩展点实例。 单击“扩展点实例”右侧的“新建”。 在弹出“新建服务扩展点”对话框,根据需要选择对应验证方式,并填写相应参数。 验证方式一:OAuth认证 表1 参数说明 参数名称 功能描述 连接名称 服务扩展点的名称。 验证方式 OAuth认证方式,需要登录GitHub账号进行手动授权。 验证方式二:Access Token认证 表2 参数说明 参数名称 功能描述 连接名称 服务扩展点的名称。 验证方式 Access Token认证。 Access Token 请参考Github AccessToken获取GitHub的Access Token,并填入此处认证。 登录GitHub账号。 授权成功后,回到新建编译构建任务页面。 刷新并选择扩展点实例,选择代码仓库及代码分支,单击“下一步”完成后续任务配置即可。
  • 使用yaml配置CMake构建 1 2 3 4 5 6 7 8 9 10 11 version: 2.0 # 必须是2.0 steps: BUILD: - cmake: inputs: command: | # 新建build目录 切换到build目录、 mkdir build && cd build # 生成Unix 平台的makefiles文件并执行构建 cmake -G 'Unix Makefiles' ../ && make -j 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 父主题: 单任务配置
  • 使用yaml配置Python构建 1 2 3 4 5 6 7 8 9 version: 2.0 # 必须是2.0 steps: BUILD: - python: inputs: command: | pip config set global.index-url https://pypi.org/simple pip config set global.trusted-host repo.xxcloud.com python setup.py bdist_egg 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 父主题: 单任务配置
  • 使用yaml配置NPM构建 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 version: 2.0 # 必须是2.0 steps: BUILD: - npm: inputs: command: | export PATH=$PATH:~/.npm-global/bin npm config set registry https://repo.example.com/repository/npm/ npm config set disturl https://repo.example.com/nodejs npm config set sass_binary_site https://repo.example.com/node-sass/ npm config set phantomjs_cdnurl https://repo.example.com/phantomjs npm config set chromedriver_cdnurl https://repo.example.com/chromedriver npm config set operadriver_cdnurl https://repo.example.com/operadriver npm config set electron_mirror https://repo.example.com/electron/ npm config set python_mirror https://repo.example.com/python npm config set prefix '~/.npm-global' npm install --verbose npm run build 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 父主题: 单任务配置
  • 使用yaml配置Android构建 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 version: 2.0 # 必须是2.0 steps: BUILD: - android: inputs: gradle: 4.8 jdk: 1.8 ndk: 17 command: | cat ~/.gradle/init.gradle cat ~/.gradle/gradle.properties cat ~/.gradle/init_template.gradle rm -rf ~/.gradle/init.gradle rm -rf /home/build/.gradle/init.gradle # 使用CodeArts提供的gradle wrapper,充分利用缓存加速 cp /cache/android/wrapper/gradle-wrapper.jar ./gradle/wrapper/gradle-wrapper.jar # 构建未签名的APK /bin/bash ./gradlew assembleDebug -Dorg.gradle.daemon=false -d --stacktrace 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 gradle string gradle版本。 是 无 jdk string jdk版本。 是 无 ndk string ndk版本。 是 无 父主题: 单任务配置
  • 角色权限 编译构建中默认的用户角色类型及对构建任务的操作权限说明如下: 表1 编译构建默认角色权限矩阵 项目角色 编辑 删除 查看 执行 复制 禁用 权限管理 任务创建者 √(*) √(*) √(*) √(*) √(*) √(*) √(*) 项目创建者 √(*) √(*) √(*) √(*) √(*) √(*) √(*) 项目经理 √ √ √ √ √ √ √ 开发人员 √ √ √ √ √ √ × 测试经理 × × √ × × × × 测试人员 × × × × × × × 参与者 × × × × × × × 浏览者 × × √ × × × × “√”表示默认有权限,“×”表示默认没有权限。 拥有“权限管理”权限的角色可以修改权限矩阵,但带“*”的权限不可修改。 项目创建者、项目经理和开发人员可以创建编译构建任务。 如果当前角色权限不满足用户需求,可参考配置角色权限进行设置。
  • 使用yaml配置mono构建 1 2 3 4 5 6 7 8 9 10 11 version: 2.0 # 必须是2.0 steps: BUILD: - mono: inputs: command: | nuget sources Disable -Name 'nuget.org' nuget sources add -Name 'xxcloud' -Source 'https://repo.xxcloud.com/repository/nuget/v3/index.json' nuget restore msbuild /p:OutputPath=../buildResult/Release/bin zip -rq ./archive.zip ./buildResult/Release/bin/* 参数名 参数类型 描述 是否必填 默认值 command string 执行命令。 是 无 父主题: 单任务配置
  • 使用yaml配置下载二进制包 1 2 3 4 5 6 version: 2.0 # 必须是2.0 steps: BUILD: - download_artifact: inputs: url: xxxxxxxxxxxxx 参数名 参数类型 描述 是否必填 默认值 url string 下载url(软件发布库中二进制包的部署下载地址)。 是 无 父主题: 单任务配置
共100000条