As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Atualizar um pipeline de serviço
Aprenda a atualizar um pipeline AWS Proton de serviços e cancelar a atualização.
Um pipeline de serviços pertence a um serviço. Você só pode criar ou excluir um pipeline dentro do contexto das ações de criação e exclusão do serviço.
Há quatro modos para atualizar um pipeline de serviço, conforme descrito na lista a seguir. Ao usar o AWS CLI, o deployment-type
campo define o modo. Quando você usa o console, esses modos são mapeados para Editar pipeline e Atualizar para a versão recomendada.
-
NONE
Nesse modo, uma implantação não ocorre. Somente as ramificações de metadata solicitadas do são atualizadas.
-
CURRENT_VERSION
Nesse modo, o pipeline de serviço é implantado e atualizado com a nova especificação fornecida por você. Somente ramificações solicitadas do são atualizadas. Não inclua parâmetros de versão secundária ou principal ao usar este deployment-type
.
-
MINOR_VERSION
Nesse modo, o pipeline de serviço é implantado e atualizado com a versão secundária publicada e recomendada (mais recente) da versão principal atual em uso por padrão. Você também pode especificar uma versão secundária diferente da versão principal atual em uso.
-
MAJOR_VERSION
Nesse modo, o pipeline de serviço é implantado e atualizado com a versão principal e secundária publicada e recomendada (mais recente) do modelo atual por padrão. Você também pode especificar uma versão principal diferente que seja superior à versão principal em uso e uma versão secundária (opcional).
Você pode tentar cancelar a implantação de uma atualização do pipeline de serviço, se deploymentStatus
for o casoIN_PROGRESS
. AWS Proton tentativas de cancelar a implantação. O cancelamento bem-sucedido não é garantido.
Quando você cancela uma implantação de atualização, AWS Proton tenta cancelar a implantação conforme listado nas etapas a seguir.
-
Define o estado de implantação como CANCELLING
.
-
Interrompe a implantação em andamento e exclui todos os novos recursos que foram criados pela implantação quando IN_PROGRESS
.
-
Define o estado de implantação como CANCELLED
.
-
Reverte o estado do recurso para o que era antes do início da implantação.
Para obter mais informações sobre o cancelamento da implantação de um pipeline de serviço, consulte CancelServicePipelineDeploymenta Referência da AWS Proton API.
Use o console ou AWS CLI para fazer atualizações ou cancelar implantações de atualizações.
- AWS Management Console
-
Atualize um pipeline de serviço usando o console conforme descrito nas etapas a seguir.
-
No console do AWS Proton, selecione Serviços.
-
Na lista de serviços, escolha o nome do serviço para o qual deseja atualizar o pipeline.
-
Há duas guias na página de detalhes do serviço, Visão geral e Pipeline. Escolher Pipeline.
-
Se você quiser atualizar as especificações, escolha Editar pipeline, preencha cada formulário e escolha Avançar até concluir o formulário final e, em seguida, escolha Atualizar pipeline.
Se você quiser atualizar para uma nova versão e houver um ícone de informações que indica que uma nova versão está disponível no Modelo de pipeline, escolha o nome da nova versão do modelo.
-
Escolha Atualizar para a versão recomendada.
-
Preencha cada formulário e escolha Avançar até preencher o formulário final e escolher Atualizar.
- AWS CLI
-
Atualize um pipeline de serviço para uma nova versão secundária, conforme mostrado nos seguintes exemplos de comandos e respostas da CLI.
Quando você atualiza seu pipeline de serviço com uma spec
modificada, você pode usar "${Proton::CURRENT_VAL}"
para indicar quais valores de parâmetros devem ser preservados da spec
original, se os valores existirem na spec
. Use get-service
para visualizar a spec
original de um pipeline de serviço, conforme descrito em Exibir dados do serviço.
O exemplo a seguir mostra como você pode usar a "${Proton::CURRENT_VAL}"
em uma spec
.
Especificação:
proton: ServiceSpec
pipeline:
my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}"
my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}"
instances:
- name: "my-instance"
environment: "simple-env"
spec:
my_sample_service_instance_optional_input: "${Proton::CURRENT_VAL}"
my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}"
- name: "my-other-instance"
environment: "simple-env"
spec:
my_sample_service_instance_required_input: "789"
Comando: atualizar
$
aws proton update-service-pipeline \
--service-name "simple-svc
" \
--spec "file://service-spec.yaml
" \
--template-major-version "1
" \
--template-minor-version "1
" \
--deployment-type "MINOR_VERSION
"
Resposta:
{
"pipeline": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "IN_PROGRESS",
"lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"my-instance\"\n environment: \"MySimpleEnv\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"MySimpleEnv\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "0",
"templateName": "svc-simple"
}
}
Comando: obter e confirmar o status
$
aws proton get-service \
--name "simple-svc
"
Resposta:
{
"service": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
"branchName": "main",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
"name": "simple-svc",
"pipeline": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "SUCCEEDED",
"lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
},
"repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"repositoryId": "repo-name/myorg-myapp",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"status": "ACTIVE",
"templateName": "svc-simple"
}
}
- AWS Management Console
-
Cancele a implantação de um pipeline de serviço usando o console, conforme mostrado nas etapas a seguir.
-
No console do AWS Proton, escolha Serviços no painel de navegação.
-
Na lista de serviços, escolha o nome do serviço que tem o pipeline com a atualização de implantação que você deseja cancelar.
-
Na página de detalhes do serviço selecione a guia Pipeline.
-
Se o status de implantação da atualização estiver Em andamento, na página de detalhes do pipeline de serviço, escolha Cancelar implantação.
-
Um modal pede que você confirme o cancelamento. Escolha Cancelar implantação.
-
O status de implantação da atualização será definido como Cancelando e, em seguida, Cancelado para concluir o cancelamento.
- AWS CLI
-
Cancele uma atualização de implantação do pipeline de serviço IN_PROGRESS para a versão secundária 2, conforme mostrado nos seguintes exemplos de comandos e respostas da CLI.
Uma condição de espera é incluída no modelo usado neste exemplo para que o cancelamento comece antes que a implantação da atualização seja bem-sucedida.
Comando: cancelar
$
aws proton cancel-service-pipeline-deployment \
--service-name "simple-svc
"
Resposta:
{
"pipeline": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "CANCELLING",
"lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
}
}
Comando: obter e confirmar o status
$
aws proton get-service \
--name "simple-svc
"
Resposta:
{
"service": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
"branchName": "main",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
"name": "simple-svc",
"pipeline": {
"arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
"createdAt": "2021-04-02T21:29:59.962000+00:00",
"deploymentStatus": "CANCELLED",
"deploymentStatusMessage": "User initiated cancellation.",
"lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "svc-simple"
},
"repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"repositoryId": "repo-name/myorg-myapp",
"spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n",
"status": "ACTIVE",
"templateName": "svc-simple"
}
}