Memperbarui saluran layanan - AWS Proton

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

Memperbarui saluran layanan

Pelajari cara memperbarui saluran AWS Proton layanan dan membatalkan pembaruan.

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

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

NONE

Dalam mode ini, penerapan 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 yang diperbarui. Jangan sertakan parameter versi minor atau mayor saat Anda menggunakan inideployment-type.

MINOR_VERSION

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

MAJOR_VERSION

Dalam mode ini, pipeline layanan dikerahkan dan diperbarui dengan versi mayor 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 penerapan pembaruan saluran pipa layanan jika deploymentStatus adaIN_PROGRESS. AWS Proton upaya untuk membatalkan penyebaran. Pembatalan yang berhasil tidak dijamin.

Saat Anda membatalkan penerapan pembaruan, AWS Proton upaya untuk membatalkan penerapan seperti yang tercantum dalam langkah-langkah berikut.

  • Menetapkan status penerapan keCANCELLING.

  • Menghentikan penerapan dalam proses dan menghapus sumber daya baru apa pun yang dibuat oleh penerapan saat. IN_PROGRESS

  • Menetapkan status penerapan keCANCELLED.

  • Mengembalikan status sumber daya ke keadaan sebelum penerapan dimulai.

Untuk informasi selengkapnya tentang membatalkan penerapan pipeline layanan, lihat CancelServicePipelineDeploymentdi Referensi AWS Proton API.

Gunakan konsol atau AWS CLI untuk membuat pembaruan atau membatalkan penerapan pembaruan.

AWS Management Console

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

  1. Di AWS Proton konsol, 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 hingga Anda menyelesaikan formulir akhir dan kemudian pilih Perbarui pipeline.

    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 memilih Perbarui.

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 menggunakan "${Proton::CURRENT_VAL}" untuk menunjukkan nilai parameter mana yang akan dipertahankan dari aslinyaspec, jika nilainya ada dispec. Gunakan get-service untuk melihat aslinya spec untuk pipeline layanan, seperti yang dijelaskan dalamLihat data layanan.

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

Spesifikasi:

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"

Respons:

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

Perintah: untuk mendapatkan dan mengkonfirmasi status

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

Respons:

{ "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 penerapan pipeline layanan menggunakan konsol seperti yang ditunjukkan pada langkah-langkah berikut.

  1. Di AWS Proton konsol, pilih Layanan di panel navigasi.

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

  3. Di halaman detail layanan, pilih tab Pipeline.

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

  5. Modal meminta Anda untuk mengkonfirmasi pembatalan. Pilih Batalkan penerapan.

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

AWS CLI

Batalkan pembaruan penyebaran pipeline layanan IN_PROGRESS ke versi minor 2 seperti yang ditunjukkan pada perintah dan tanggapan contoh CLI berikut.

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

Perintah: untuk membatalkan

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

Respons:

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

Perintah: untuk mendapatkan dan mengkonfirmasi status

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

Respons:

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