Memperbarui pipeline layanan - AWS Proton

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memperbarui pipeline layanan

Pelajari cara memperbarui pipelineAWS Proton layanan dan membatalkan pembaruan.

Pipa layanan milik layanan. Anda hanya dapat membuat atau menghapus pipeline dalam konteks layanan membuat dan menghapus tindakan.

Ada empat mode untuk memperbarui pipeline layanan seperti yang dijelaskan dalam daftar berikut. Saat menggunakanAWS CLI,deployment-type bidang mendefinisikan mode. Saat Anda menggunakan konsol, mode ini memetakan ke pipeline Edit dan Update ke versi yang direkomendasikan.

NONE

Dalam mode ini, penyebaran tidak terjadi. Hanya parameter metadata yang diminta yang diperbarui.

CURRENT_VERSION

Dalam mode ini, pipeline layanan dikerahkan dan diperbarui dengan spesifikasi baru yang Anda berikan. Hanya parameter yang diminta diperbarui. Jangan sertakan parameter versi minor atau mayor saat Anda menggunakan inideployment-type.

MINOR_VERSION

Dalam mode ini, pipeline layanan dikerahkan dan diperbarui dengan versi minor yang dipublikasikan, direkomendasikan (terbaru) dari versi mayor saat ini yang digunakan secara default. Anda juga dapat menentukan versi minor yang berbeda dari versi mayor saat ini yang digunakan.

MAJOR_VERSION

Dalam mode ini, pipeline layanan dikerahkan dan diperbarui dengan versi utama dan minor yang dipublikasikan, direkomendasikan (terbaru) dari template saat ini secara default. Anda juga dapat menentukan versi mayor yang berbeda yang lebih tinggi dari versi utama yang digunakan dan versi minor (opsional).

Anda dapat mencoba membatalkan penyebaran pembaruan pipeline layanan jikadeploymentStatus adaIN_PROGRESS. AWS Protonmencoba untuk membatalkan deployment. Pembatalan yang berhasil tidak dijamin.

Saat Anda membatalkan penyebaran pembaruan,AWS Proton coba batalkan penyebaran seperti yang tercantum dalam langkah-langkah berikut.

  • Menetapkan negara penyebaran untukCANCELLING.

  • Menghentikan penyebaran dalam proses dan menghapus sumber daya baru yang dibuat oleh penyebaran kapanIN_PROGRESS.

  • Menetapkan negara penyebaran untukCANCELLED.

  • Mengembalikan status sumber daya ke apa itu sebelum penyebaran dimulai.

Untuk informasi selengkapnya tentang membatalkan penyebaran pipeline layanan, lihat CancelServicePipelineDeploymentdi ReferensiAWS Proton API.

Gunakan konsol atauAWS CLI untuk melakukan pembaruan atau membatalkan penyebaran pembaruan.

AWS Management Console

Perbarui pipeline layanan menggunakan konsol seperti yang dijelaskan dalam langkah-langkah berikut.

  1. Di AWS Protonkonsol, pilih Layanan.

  2. Dalam daftar layanan, pilih nama layanan yang ingin Anda perbarui pipeline.

  3. Ada dua tab pada halaman detail layanan, Ikhtisar dan Pipeline. Pilih Pipeline.

  4. Jika Anda ingin memperbarui spesifikasi, pilih Edit Pipeline dan isi setiap formulir dan pilih Berikutnya sampai Anda menyelesaikan formulir akhir dan kemudian pilih Perbarui pipa.

    Jika Anda ingin memperbarui ke versi baru dan ada ikon informasi yang menunjukkan versi baru tersedia di template Pipeline, pilih nama versi template baru.

    1. Pilih Perbarui ke versi yang direkomendasikan.

    2. Isi setiap formulir dan pilih Berikutnya sampai Anda menyelesaikan formulir akhir dan pilih Update.

AWS CLI

Perbarui pipeline layanan ke versi minor baru seperti yang ditunjukkan pada perintah dan tanggapan contoh CLI berikut.

Saat memperbarui pipeline layanan dengan modifikasispec, Anda dapat menggunakannya"${Proton::CURRENT_VAL}" untuk menunjukkan nilai parameter mana yang akan dipertahankan dari aslinyaspec, jika nilai ada dispec. Gunakanget-service untuk melihat aslispec untuk pipeline layanan, seperti yang dijelaskan dalamLihat data layanan.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan"${Proton::CURRENT_VAL}" dalamspec.

Spek:

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"

Perintah: untuk memperbarui

$ 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"

Jawaban:

{ "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" } }

Command: untuk mendapatkan dan mengkonfirmasi status

$ aws proton get-service \ --name "simple-svc"

Jawaban:

{ "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

Batalkan penyebaran pipeline layanan menggunakan konsol seperti yang ditunjukkan pada langkah-langkah berikut.

  1. Di AWS Protonkonsol, pilih Layanan di panel navigasi.

  2. Dalam daftar layanan, pilih nama layanan yang memiliki pipeline dengan pembaruan deployment yang ingin Anda batalkan.

  3. Di halaman detail layanan, pilih tab Pipeline.

  4. Jika status penyebaran pembaruan Anda sedang berlangsung, di halaman detail pipeline layanan, pilih Batalkan penyebaran.

  5. Modal meminta Anda untuk mengonfirmasi pembatalan. Pilih Batalkan penyebaran.

  6. Status penyebaran pembaruan Anda diatur ke Membatalkan dan kemudian Dibatalkan untuk menyelesaikan pembatalan.

AWS CLI

Membatalkan pembaruan penyebaran pipa layanan IN_PROGRESS ke minor versi 2 seperti yang ditunjukkan dalam contoh perintah CLI berikut dan tanggapan.

Kondisi tunggu disertakan dalam template yang digunakan untuk contoh ini sehingga pembatalan dimulai sebelum penyebaran pembaruan berhasil.

Command: untuk membatalkan

$ aws proton cancel-service-pipeline-deployment \ --service-name "simple-svc"

Jawaban:

{ "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" } }

Command: untuk mendapatkan dan mengkonfirmasi status

$ aws proton get-service \ --name "simple-svc"

Jawaban:

{ "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" } }