跳到主要内容

GKE Apply Deployment

Learn how to add and configure the "GKE Apply Deployment" action in your Buddy pipeline

POST参数

名称类型描述
name
必填
String操作名称
type
必填
StringThe type of the action. Should be set to KUBERNETES_APPLY.
integration
必填
IntegrationThe integration.
gke_auth_type
必填
StringAuthorization type. Set to SERVICE_ACCOUNT.
zone_id
必填
StringThe ID of the GKE zone.
cluster
必填
StringThe ID of the GKE cluster.
application_id
必填
StringThe ID of the GKE application.
config_path
必填
StringThe path to the configuration file.
record_argStringRecord current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
save_config_argBooleanIf true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
force_argBooleanDelete and re-create the specified resource, when PATCH encounters conflict and has retried for 5 times.
overwrite_argBooleanAutomatically resolve conflicts between the modified and live configuration by using values from the modified configuration.
cascade_argBooleanOnly relevant during a prune or a force apply. If true, cascade the deletion of the resources managed by pruned or deleted resources (e.g. Pods created by a ReplicationController).
all_argBooleanDefines whether to select all the specified resources.
grace_period_argIntegerOnly relevant during a prune or a force apply. Period of time in seconds given to pruned or deleted resources to terminate gracefully. Ignored if negative.
prune_argBooleanAutomatically delete resource objects that do not appear in the configs and are created by either apply or create –save-config. Should be used with either -l or –all.
prune_whitelist_argStringOverwrite the default whitelist with <group/version/kind> for –prune.
kubectl_versionStringVersion of the kubectl used in the action. Default is <latest<.

示例

请求

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"zone_id": "europe-west1-c",
"cluster": "cluster-1",
"application_id": "tokyo-house-138923",
"gke_auth_type": "SERVICE_ACCOUNT",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout": "600",
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
}
}

示例响应

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
"id": 2,
"name": "Apply deployment",
"type": "KUBERNETES_APPLY",
"trigger_time": "ON_EVERY_EXECUTION",
"zone_id": "europe-west1-c",
"cluster": "cluster-1",
"application_id": "tokyo-house-138923",
"gke_auth_type": "SERVICE_ACCOUNT",
"config_path": "config.yaml",
"record_arg": "NOT_SET",
"save_config_arg": false,
"force_arg": false,
"overwrite_arg": false,
"cascade_arg": false,
"all_arg": true,
"grace_period_arg": 0,
"prune_arg": true,
"prune_whitelist_arg": "",
"timeout": "600",
"integration": {
"url": "https://api.buddy.works/workspaces/buddy/user/integrations/2",
"html_url": "https://app.buddy.works/my-id",
"hash_id": "5ddb7c180fb38be67bd78a88a"
},
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "test pipeline",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}