Tutorial: Buat pipeline sederhana (ember S3) - AWS CodePipeline

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

Tutorial: Buat pipeline sederhana (ember S3)

Cara termudah untuk membuat pipeline adalah dengan menggunakan wizard Create pipeline di AWS CodePipeline konsol.

Dalam tutorial ini, Anda membuat pipeline dua tahap yang menggunakan bucket S3 berversi dan CodeDeploy untuk merilis contoh aplikasi.

catatan

Jika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat mem-zip file sumber atau file ke dalam satu .zip dan mengunggah.zip ke bucket sumber Anda. Anda juga dapat mengunggah satu file yang tidak di-zip; namun, tindakan hilir yang mengharapkan file.zip akan gagal.

Setelah Anda membuat pipeline sederhana ini, Anda menambahkan tahap lain dan kemudian menonaktifkan dan mengaktifkan transisi antar tahapan.

penting

Banyak tindakan yang Anda tambahkan ke pipeline dalam prosedur ini melibatkan AWS sumber daya yang perlu Anda buat sebelum membuat pipeline. AWSsumber daya untuk tindakan sumber Anda harus selalu dibuat di AWS Wilayah yang sama tempat Anda membuat pipeline. Misalnya, jika Anda membuat pipeline di Wilayah AS Timur (Ohio), CodeCommit repositori Anda harus berada di Wilayah AS Timur (Ohio).

Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline. AWSsumber daya untuk tindakan lintas wilayah harus berada di AWS Wilayah yang sama di mana Anda berencana untuk menjalankan tindakan. Untuk informasi selengkapnya, lihat Menambahkan tindakan Lintas wilayah diCodePipeline.

Sebelum Anda mulai, Anda harus menyelesaikan prasyarat di. Memulai dengan CodePipeline

Langkah 1: Buat bucket S3 untuk aplikasi Anda

Anda dapat menyimpan file sumber atau aplikasi Anda di lokasi berversi apa pun. Dalam tutorial ini, Anda membuat bucket S3 untuk file aplikasi sampel dan mengaktifkan pembuatan versi pada bucket itu. Setelah mengaktifkan pembuatan versi, Anda menyalin contoh aplikasi ke bucket tersebut.

Untuk membuat bucket S3
  1. Masuk ke konsol diAWS Management Console. Buka konsol S3.

  2. Pilih Create bucket (Buat bucket).

  3. Dalam nama Bucket, masukkan nama untuk bucket Anda (misalnya,awscodepipeline-demobucket-example-date).

    catatan

    Karena semua nama bucket di Amazon S3 harus unik, gunakan salah satu nama Anda sendiri, bukan nama yang ditunjukkan pada contoh. Anda dapat mengubah nama contoh hanya dengan menambahkan tanggal ke dalamnya. Catat nama ini karena Anda membutuhkannya untuk sisa tutorial ini.

    Di Wilayah, pilih Wilayah tempat Anda ingin membuat pipeline, seperti US West (Oregon), lalu pilih Buat bucket.

  4. Setelah ember dibuat, spanduk sukses ditampilkan. Pilih Buka detail ember.

  5. Pada tab Properties, pilih Versioning. Pilih Aktifkan pembuatan versi, lalu pilih Simpan.

    Saat pembuatan versi diaktifkan, Amazon S3 menyimpan setiap versi dari setiap objek di bucket.

  6. Pada tab Izin, biarkan default. Untuk informasi selengkapnya tentang izin bucket dan objek S3, lihat Menentukan Izin dalam Kebijakan.

  7. Selanjutnya, unduh sampel dan simpan ke folder atau direktori di komputer lokal Anda.

    1. Pilih salah satu dari berikut ini. Pilih SampleApp_Windows.zip apakah Anda ingin mengikuti langkah-langkah dalam tutorial ini untuk instance Windows Server.

      Aplikasi sampel berisi file-file berikut untuk digunakan dengan CodeDeploy:

      • appspec.yml— File spesifikasi aplikasi (AppSpecfile) adalah file berformat YAMM yang digunakan oleh CodeDeploy untuk mengelola penyebaran. Untuk informasi selengkapnya tentang AppSpec file, lihat Referensi CodeDeploy AppSpec file di Panduan AWS CodeDeploy Pengguna.

      • index.html— File indeks berisi halaman beranda untuk aplikasi sampel yang digunakan.

      • LICENSE.txt— File lisensi berisi informasi lisensi untuk aplikasi sampel.

      • File untuk skrip — Aplikasi sampel menggunakan skrip untuk menulis file teks ke lokasi pada instance Anda. Satu file ditulis untuk masing-masing dari beberapa peristiwa siklus hidup CodeDeploy penerapan sebagai berikut:

        • (Hanya sampel Linux) scripts folder - Folder berisi skrip shell berikut untuk menginstal dependensi dan memulai dan menghentikan aplikasi sampel untuk penerapan otomatis:install_dependencies,, dan. start_server stop_server

        • (Hanya sampel Windows) before-install.bat - Ini adalah skrip batch untuk peristiwa siklus hidup BeforeInstall penerapan, yang akan berjalan untuk menghapus file lama yang ditulis selama penerapan sampel ini sebelumnya dan membuat lokasi pada instance Anda untuk menulis file baru.

    2. Unduh file terkompresi (zip). Jangan unzip file.

  8. Di konsol Amazon S3, untuk bucket Anda, unggah file:

    1. Pilih Upload (Unggah).

    2. Seret dan lepas file atau pilih Tambahkan file dan telusuri file tersebut.

    3. Pilih Upload (Unggah).

Langkah 2: Buat instans Windows Amazon EC2 dan instal agen CodeDeploy

catatan

Tutorial ini memberikan contoh langkah-langkah untuk membuat instans Windows Amazon EC2. Untuk contoh langkah untuk membuat instans Amazon EC2 Linux, lihat. Langkah 3: Buat instans Amazon EC2 Linux dan instal agen CodeDeploy Saat diminta jumlah instance yang akan dibuat, tentukan 2 instance.

Pada langkah ini, Anda membuat instance Windows Server Amazon EC2 yang akan Anda gunakan aplikasi sampel. Sebagai bagian dari proses ini, Anda membuat peran instance dengan kebijakan yang memungkinkan penginstalan dan pengelolaan CodeDeploy agen pada instans. CodeDeploy Agen adalah paket perangkat lunak yang memungkinkan instance untuk digunakan dalam CodeDeploy penerapan. Anda juga melampirkan kebijakan yang memungkinkan instance mengambil file yang digunakan CodeDeploy agen untuk menyebarkan aplikasi Anda dan mengizinkan instance dikelola oleh SSM.

Untuk membuat peran instance
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/).

  2. Dari dasbor konsol, pilih Peran.

  3. Pilih Buat peran.

  4. Di bawah Pilih jenis entitas tepercaya, pilih Layanan AWS. Di bawah Pilih kasus penggunaan, pilih EC2, lalu pilih Berikutnya: Izin.

  5. Cari dan pilih kebijakan yang diberi nama AmazonEC2RoleforAWSCodeDeploy.

  6. Cari dan pilih kebijakan yang diberi nama AmazonSSMManagedInstanceCore. Pilih Selanjutnya: Tag.

  7. Pilih Selanjutnya: Tinjau. Masukkan nama untuk peran (misalnya,EC2InstanceRole).

    catatan

    Catat nama peran Anda untuk langkah selanjutnya. Anda memilih peran ini saat membuat instance Anda.

    Pilih Buat peran.

Untuk meluncurkan instance
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Dari navigasi samping, pilih Instans, dan pilih Luncurkan instance dari bagian atas halaman.

  3. Di bawah Nama dan tag, di Nama, masukkanMyCodePipelineDemo. Ini menetapkan instance kunci tag Name dan nilai tag dari. MyCodePipelineDemo Kemudian, Anda membuat CodeDeploy aplikasi yang menyebarkan aplikasi sampel ke instance. CodeDeploymemilih instance untuk menyebarkan berdasarkan tag.

  4. Di bawah Application and OS Images (Amazon Machine Image), pilih opsi Windows. (AMI ini digambarkan sebagai Pangkalan Microsoft Windows Server 2019 dan diberi label “Tingkat gratis memenuhi syarat” dan dapat ditemukan di bawah Mulai Cepat..)

  5. Di bawah Jenis instans, pilih t2.micro tipe yang memenuhi syarat tingkat gratis sebagai konfigurasi perangkat keras untuk instans Anda.

  6. Di bawah Key pair (login), pilih key pair atau buat satu.

    Anda juga dapat memilih Proceed without a key pair.

    catatan

    Untuk keperluan tutorial ini, Anda dapat melanjutkan tanpa key pair. Untuk menggunakan SSH untuk terhubung ke instance Anda, buat atau gunakan key pair.

  7. Di bawah Pengaturan jaringan, lakukan hal berikut.

    Di Auto-assign IP Publik, pastikan statusnya Aktifkan.

    • Di samping Menetapkan grup keamanan, pilih Buat grup keamanan baru.

    • Di baris untuk SSH, di bawah Jenis sumber, pilih IP Saya.

    • Pilih Tambahkan grup keamanan, pilih HTTP, lalu di bawah Jenis sumber, pilih IP Saya.

  8. Perluas Detail lanjutan. Di profil instans IAM, pilih peran IAM yang Anda buat di prosedur sebelumnya (misalnya,EC2InstanceRole).

  9. Di bawah Ringkasan, di bawah Jumlah instance, masukkan.. 2

  10. Pilih Luncurkan instans.

  11. Pilih Lihat semua instans untuk menutup halaman konfirmasi dan kembali ke konsol.

  12. Anda dapat melihat status peluncuran di halaman Instans. Saat Anda meluncurkan instans, status awalnya adalah pending. Setelah instans dimulai, statusnya berubah menjadi running, dan ia menerima nama DNS publik. (Jika kolom DNS Publik tidak ditampilkan, pilih ikon Tampilkan/Sembunyikan, lalu pilih DNS Publik.)

  13. Diperlukan waktu beberapa menit sampai instans siap untuk terhubung dengan DNS tersebut. Periksa apakah pesan Anda telah lulus pemeriksaan statusnya. Anda dapat melihat informasi ini di kolom Pemeriksaan Status.

Langkah 3: Buat aplikasi di CodeDeploy

Dalam CodeDeploy, aplikasi adalah pengenal, dalam bentuk nama, untuk kode yang ingin Anda terapkan. CodeDeploy menggunakan nama ini untuk memastikan kombinasi yang benar dari revisi, konfigurasi penerapan, dan grup penyebaran direferensikan selama penerapan. Anda memilih nama CodeDeploy aplikasi yang Anda buat dalam langkah ini ketika Anda membuat pipeline Anda nanti dalam tutorial ini.

Anda pertama kali membuat peran layanan CodeDeploy untuk digunakan. Jika Anda telah membuat peran layanan, Anda tidak perlu membuat yang lain.

Untuk membuat peran CodeDeploy layanan
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/).

  2. Dari dasbor konsol, pilih Peran.

  3. Pilih Buat peran.

  4. Di bawah Pilih entitas tepercaya, pilih Layanan AWS. Di bawah Kasus penggunaan, pilih CodeDeploy. Pilih CodeDeploydari opsi yang tercantum. Pilih Berikutnya. Kebijakan yang AWSCodeDeployRole dikelola sudah melekat pada peran tersebut.

  5. Pilih Berikutnya.

  6. Masukkan nama untuk peran (misalnya,CodeDeployRole), lalu pilih Buat peran.

Untuk membuat aplikasi di CodeDeploy
  1. Buka CodeDeploy konsol di https://console.aws.amazon.com/codedeploy.

  2. Jika halaman Aplikasi tidak muncul, pada AWS CodeDeploy menu, pilih Aplikasi.

  3. Pilih Create application (Buat aplikasi).

  4. Dalam nama Aplikasi, masukkanMyDemoApplication.

  5. Di Compute Platform, pilih EC2/On-premise.

  6. Pilih Create application (Buat aplikasi).

Untuk membuat grup penyebaran di CodeDeploy
  1. Pada halaman yang menampilkan aplikasi Anda, pilih Buat grup penyebaran.

  2. Dalam nama grup Deployment, masukkanMyDemoDeploymentGroup.

  3. Di peran Layanan, pilih peran layanan yang Anda buat sebelumnya. Anda harus menggunakan peran layanan yang mempercayai AWS CodeDeploy , setidaknya, kepercayaan dan izin yang dijelaskan dalam Membuat Peran Layanan untuk. CodeDeploy Untuk mendapatkan ARN peran layanan, lihat Mendapatkan Peran Layanan ARN (Konsol).

  4. Di bawah Jenis Deployment, pilih In-place.

  5. Di bawah Konfigurasi lingkungan, pilih Instans Amazon EC2. Pilih Nama di bidang Kunci, dan di bidang Nilai, masukkanMyCodePipelineDemo.

    penting

    Anda harus memilih nilai yang sama untuk kunci Nama di sini yang Anda tetapkan ke instans EC2 saat Anda membuatnya. Jika Anda menandai instance Anda dengan sesuatu selainMyCodePipelineDemo, pastikan untuk menggunakannya di sini.

  6. Di bawah Konfigurasi Agen dengan AWS Systems Manager, pilih Sekarang dan jadwalkan pembaruan. Ini menginstal agen pada instance. Instans Windows sudah dikonfigurasi dengan agen SSM dan sekarang akan diperbarui dengan CodeDeploy agen.

  7. Di bawah Pengaturan Deployment, pilihCodeDeployDefault.OneAtaTime.

  8. Di bawah Load Balancer, pastikan kotak Aktifkan load balancing tidak dipilih. Anda tidak perlu mengatur penyeimbang beban atau memilih grup target untuk contoh ini. Setelah Anda membatalkan pilihan kotak centang, opsi penyeimbang beban tidak ditampilkan.

  9. Di bagian Advanced, tinggalkan default.

  10. Pilih Buat grup penyebaran.

Langkah 4: Buat pipeline pertama Anda di CodePipeline

Di bagian tutorial ini, Anda membuat pipeline. Sampel berjalan secara otomatis melalui pipa.

Untuk membuat proses rilis CodePipeline otomatis
  1. Masuk ke AWS Management Console dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pada halaman Selamat Datang, halaman Memulai, atau halaman Pipelines, pilih Buat pipeline.

  3. Di Langkah 1: Pilih pengaturan alur, di Nama alur, masukkan MyFirstPipeline.

    catatan

    Jika Anda memilih nama lain untuk pipeline Anda, pastikan untuk menggunakan nama itu alih-alih MyFirstPipeline untuk sisa tutorial ini. Setelah Anda membuat pipeline, Anda tidak dapat mengubah namanya. Nama pipa tunduk pada beberapa batasan. Untuk informasi selengkapnya, lihat Kuota di AWS CodePipeline.

  4. Dalam tipe Pipeline, pilih V1 untuk keperluan tutorial ini. Anda juga dapat memilih V2; Namun, perhatikan bahwa jenis pipa berbeda dalam karakteristik dan harga. Untuk informasi selengkapnya, lihat Jenis pipa.

  5. Dalam peran Layanan, lakukan salah satu hal berikut:

    • Pilih Peran layanan baru CodePipeline untuk memungkinkan membuat peran layanan baru di IAM.

    • Pilih Peran layanan yang ada untuk menggunakan peran layanan yang sudah dibuat di IAM. Di Nama peran, pilih peran layanan Anda dari daftar.

  6. Biarkan pengaturan di bawah Pengaturan lanjutan pada defaultnya, lalu pilih Berikutnya.

  7. Pada Langkah 2: Tambahkan tahap sumber, di penyedia Sumber, pilih Amazon S3. Di Bucket, masukkan nama bucket S3 yang Anda buat. Langkah 1: Buat bucket S3 untuk aplikasi Anda Dalam kunci objek S3, masukkan kunci objek dengan atau tanpa jalur file, dan ingat untuk menyertakan ekstensi file. Misalnya, untukSampleApp_Windows.zip, masukkan nama file contoh seperti yang ditunjukkan dalam contoh ini:

    SampleApp_Windows.zip

    Pilih Langkah selanjutnya.

    Di bawah Ubah opsi deteksi, biarkan default. Hal ini CodePipeline memungkinkan Anda menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan di bucket sumber Anda.

    Pilih Berikutnya.

  8. Pada Langkah 3: Tambahkan tahap build, pilih Lewati tahap build, lalu terima pesan peringatan dengan memilih Lewati lagi. Pilih Berikutnya.

  9. Pada Langkah 4: Tambahkan tahap penerapan, di Penyedia penyebaran, pilih. CodeDeploy Bidang Region default sama Wilayah AWS dengan pipeline Anda. Di Nama aplikasi, masukkanMyDemoApplication, atau pilih tombol Refresh, lalu pilih nama aplikasi dari daftar. Di grup DeploymentMyDemoDeploymentGroup, masukkan, atau pilih dari daftar, lalu pilih Berikutnya.

    catatan

    Nama Deploy adalah nama yang diberikan secara default ke tahap yang dibuat di Langkah 4: Tambahkan langkah tahap penerapan, sama seperti Source adalah nama yang diberikan ke tahap pertama pipeline.

  10. Pada Langkah 5: Tinjau, tinjau informasinya, lalu pilih Buat pipeline.

  11. Pipa mulai berjalan. Anda dapat melihat pesan kemajuan dan keberhasilan dan kegagalan saat CodePipeline sampel menyebarkan halaman web ke setiap instans Amazon EC2 dalam penerapan. CodeDeploy

Selamat! Anda baru saja membuat pipa sederhana di CodePipeline. Pipa memiliki dua tahap:

  • Tahap sumber bernama Source, yang mendeteksi perubahan dalam aplikasi sampel berversi yang disimpan dalam bucket S3 dan menarik perubahan tersebut ke dalam pipeline.

  • Tahap Deploy yang menyebarkan perubahan tersebut ke instans EC2 dengan. CodeDeploy

Sekarang, verifikasi hasilnya.

Untuk memverifikasi pipeline Anda berhasil berjalan
  1. Lihat kemajuan awal pipa. Status setiap tahap berubah dari Tidak ada eksekusi yang belum ada dalam proses, dan kemudian menjadi Berhasil atau Gagal. Pipa harus menyelesaikan proses pertama dalam beberapa menit.

  2. Setelah Berhasil ditampilkan untuk status tindakan, di area status untuk tahap Deploy, pilih Detail. Ini membuka CodeDeploy konsol.

  3. Di tab grup Deployment, di bawah peristiwa siklus hidup Deployment, pilih ID instance. Ini membuka konsol EC2.

  4. Pada tab Deskripsi, di DNS Publik, salin alamatnya, lalu tempelkan ke bilah alamat browser web Anda. Lihat halaman indeks untuk contoh aplikasi yang Anda unggah ke bucket S3 Anda.

    Halaman web ditampilkan untuk contoh aplikasi yang Anda unggah ke bucket S3 Anda.

Untuk informasi selengkapnya tentang tahapan, tindakan, dan cara kerja saluran pipa, lihatCodePipeline konsep .

(Opsional) Langkah 5: Tambahkan tahap lain ke pipeline Anda

Sekarang tambahkan tahap lain dalam pipeline untuk menyebarkan dari server pementasan ke server produksi menggunakan. CodeDeploy Pertama, Anda membuat grup penerapan lain di CodePipelineDemoApplication dalam CodeDeploy. Kemudian Anda menambahkan tahapan yang menyertakan tindakan yang menggunakan grup penyebaran ini. Untuk menambahkan tahap lain, Anda menggunakan CodePipeline konsol atau AWS CLI untuk mengambil dan mengedit struktur pipeline secara manual dalam file JSON, lalu jalankan update-pipeline perintah untuk memperbarui pipeline dengan perubahan Anda.

Buat grup penerapan kedua di CodeDeploy

catatan

Di bagian tutorial ini, Anda membuat grup penyebaran kedua, tetapi menyebarkan ke instans Amazon EC2 yang sama seperti sebelumnya. Ini hanya untuk tujuan demonstrasi. Ini sengaja dirancang untuk gagal menunjukkan kepada Anda bagaimana kesalahan ditampilkan. CodePipeline

Untuk membuat grup penyebaran kedua di CodeDeploy
  1. Buka CodeDeploy konsol di https://console.aws.amazon.com/codedeploy.

  2. Pilih Aplikasi, dan dalam daftar aplikasi, pilihMyDemoApplication.

  3. Pilih tab grup Deployment, lalu pilih Create deployment group.

  4. Pada halaman Buat grup penyebaran, dalam nama grup Deployment, masukkan nama untuk grup penyebaran kedua (misalnya,). CodePipelineProductionFleet

  5. Di Peran Layanan, pilih peran CodeDeploy layanan yang sama yang Anda gunakan untuk penerapan awal (bukan peran CodePipeline layanan).

  6. Di bawah Jenis Deployment, pilih In-place.

  7. Di bawah Konfigurasi lingkungan, pilih Instans Amazon EC2. Pilih Nama di kotak Kunci, dan di kotak Nilai, pilih MyCodePipelineDemo dari daftar. Tinggalkan konfigurasi default untuk pengaturan Deployment.

  8. Di bawah konfigurasi Deployment, pilihCodeDeployDefault.OneAtaTime.

  9. Di bawah Load Balancer, hapus Aktifkan penyeimbangan beban.

  10. Pilih Buat grup penyebaran.

Tambahkan grup penerapan sebagai tahap lain dalam pipeline Anda

Sekarang setelah Anda memiliki grup penyebaran lain, Anda dapat menambahkan tahapan yang menggunakan grup penerapan ini untuk menyebarkan ke instans EC2 yang sama dengan yang Anda gunakan sebelumnya. Anda dapat menggunakan CodePipeline konsol atau AWS CLI untuk menambahkan tahap ini.

Buat tahap ketiga (konsol)

Anda dapat menggunakan CodePipeline konsol untuk menambahkan tahap baru yang menggunakan grup penyebaran baru. Karena grup penerapan ini menerapkan ke instans EC2 yang telah Anda gunakan, tindakan penerapan pada tahap ini gagal.

  1. Masuk ke AWS Management Console dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Di Nama, pilih nama pipeline yang Anda buat, MyFirstPipeline.

  3. Pada halaman detail pipeline, pilih Edit.

  4. Pada halaman Edit, pilih + Tambah tahap untuk menambahkan tahap segera setelah tahap Deploy.

  5. Di Tambahkan tahap, dalam nama Panggung, masukkanProduction. Pilih Tambahkan tahap.

  6. Di tahap baru, pilih + Tambahkan grup tindakan.

  7. Dalam Edit tindakan, dalam nama Tindakan, masukkanDeploy-Second-Deployment. Di Penyedia tindakan, di bawah Deploy, pilih CodeDeploy.

  8. Di CodeDeploy bagian, di Nama aplikasi, pilih MyDemoApplication dari daftar drop-down, seperti yang Anda lakukan saat membuat pipeline. Di grup Deployment, pilih grup penyebaran yang baru saja Anda buat. CodePipelineProductionFleet Di artefak Input, pilih artefak input dari aksi sumber. Pilih Simpan.

  9. Pada halaman Edit, pilih Simpan. Di Simpan perubahan pipeline, pilih Simpan.

  10. Meskipun tahap baru telah ditambahkan ke pipeline Anda, status Tidak ada eksekusi belum ditampilkan karena tidak ada perubahan yang memicu proses pipeline lainnya. Anda harus menjalankan ulang revisi terakhir secara manual untuk melihat bagaimana pipeline yang diedit berjalan. Pada halaman detail pipeline, pilih Rilis ubah, lalu pilih Rilis saat diminta. Ini menjalankan revisi terbaru yang tersedia di setiap lokasi sumber yang ditentukan dalam aksi sumber melalui pipeline.

    Atau, untuk menggunakan AWS CLI untuk menjalankan kembali pipeline, dari terminal di Linux, macOS, atau mesin Unix lokal Anda, atau prompt perintah pada mesin Windows lokal Anda, jalankan perintah, start-pipeline-execution dengan menentukan nama pipeline. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikan pipelineExecutionId objek.

  11. Kembali ke CodePipeline konsol dan dalam daftar pipeline, pilih MyFirstPipelineuntuk membuka halaman tampilan.

    Pipa menunjukkan tiga tahap dan keadaan artefak yang berjalan melalui tiga tahap tersebut. Mungkin diperlukan waktu hingga lima menit agar pipa berjalan melalui semua tahapan. Anda melihat penerapan berhasil pada dua tahap pertama, seperti sebelumnya, tetapi tahap Produksi menunjukkan tindakan Deploy-Second-Deployment gagal.

  12. Dalam tindakan Deploy-Second-Deployment, pilih Detail. Anda diarahkan ke halaman untuk CodeDeploy penyebaran. Dalam kasus ini, kegagalan adalah hasil dari penyebaran grup instans pertama ke semua instans EC2, sehingga tidak ada instance untuk grup penerapan kedua.

    catatan

    Kegagalan ini dirancang, untuk menunjukkan apa yang terjadi ketika ada kegagalan dalam tahap pipa.

Buat tahap ketiga (CLI)

Meskipun menggunakan AWS CLI untuk menambahkan tahap ke pipeline Anda lebih kompleks daripada menggunakan konsol, ini memberikan lebih banyak visibilitas ke dalam struktur pipa.

Untuk membuat tahap ketiga untuk pipeline Anda
  1. Buka sesi terminal di Linux, macOS, atau mesin Unix lokal Anda, atau prompt perintah di mesin Windows lokal Anda, dan jalankan get-pipeline perintah untuk menampilkan struktur pipeline yang baru saja Anda buat. UntukMyFirstPipeline, Anda akan mengetik perintah berikut:

    aws codepipeline get-pipeline --name "MyFirstPipeline"

    Perintah ini mengembalikan struktur MyFirstPipeline. Bagian pertama dari output harus terlihat mirip dengan yang berikut:

    { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE:role/AWS-CodePipeline-Service", "stages": [ ...

    Bagian akhir dari output mencakup metadata pipa dan akan terlihat mirip dengan yang berikut:

    ... ], "artifactStore": { "type": "S3" "location": "codepipeline-us-east-2-250656481468", }, "name": "MyFirstPipeline", "version": 4 }, "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 } }
  2. Salin dan tempel struktur ini ke editor teks biasa, dan simpan file sebagai. pipeline.json Untuk kenyamanan, simpan file ini di direktori yang sama tempat Anda menjalankan aws codepipeline perintah.

    catatan

    Anda dapat menyalurkan JSON langsung ke file dengan get-pipeline perintah sebagai berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
  3. Salin bagian tahap Deploy dan tempel setelah dua tahap pertama. Karena ini adalah tahap penerapan, seperti tahap Deploy, Anda menggunakannya sebagai template untuk tahap ketiga.

  4. Ubah nama panggung dan detail grup penyebaran.

    Contoh berikut menunjukkan JSON yang Anda tambahkan ke file pipeline.json setelah tahap Deploy. Edit elemen yang ditekankan dengan nilai-nilai baru. Ingatlah untuk menyertakan koma untuk memisahkan definisi tahap Deploy dan Produksi.

    , { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] }
  5. Jika Anda bekerja dengan struktur pipa yang diambil menggunakan get-pipeline perintah, Anda harus menghapus metadata baris dari file JSON. Jika tidak, update-pipeline perintah tidak dapat menggunakannya. Hapus "metadata": { } garis dan"created","pipelineARN", dan "updated" bidang.

    Misalnya, hapus baris berikut dari struktur:

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" }

    Simpan file tersebut.

  6. Jalankan update-pipeline perintah, tentukan file JSON pipeline, mirip dengan yang berikut ini:

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    Perintah ini mengembalikan seluruh struktur pipa yang diperbarui.

    penting

    Pastikan untuk menyertakan file:// sebelum nama file. Diperlukan dalam perintah ini.

  7. Jalankan start-pipeline-execution perintah, tentukan nama pipeline. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikan pipelineExecutionId objek.

  8. Buka CodePipeline konsol dan pilih MyFirstPipelinedari daftar saluran pipa.

    Pipa menunjukkan tiga tahap dan keadaan artefak yang berjalan melalui tiga tahap tersebut. Mungkin diperlukan waktu hingga lima menit agar pipa berjalan melalui semua tahapan. Meskipun penerapan berhasil pada dua tahap pertama, seperti sebelumnya, tahap Produksi menunjukkan bahwa tindakan Deploy-Second-Deployment gagal.

  9. Dalam tindakan Deploy-Second-Deployment, pilih Detail untuk melihat detail kegagalan. Anda diarahkan ke halaman detail untuk CodeDeploy penyebaran. Dalam kasus ini, kegagalan adalah hasil dari penyebaran grup instans pertama ke semua instans EC2, sehingga tidak ada instance untuk grup penerapan kedua.

    catatan

    Kegagalan ini dirancang, untuk menunjukkan apa yang terjadi ketika ada kegagalan dalam tahap pipa.

(Opsional) Langkah 6: Nonaktifkan dan aktifkan transisi antar tahapan CodePipeline

Anda dapat mengaktifkan atau menonaktifkan transisi antar tahapan dalam pipeline. Menonaktifkan transisi antar tahapan memungkinkan Anda mengontrol transisi secara manual antara satu tahap dan tahap lainnya. Misalnya, Anda mungkin ingin menjalankan dua tahap pertama dari pipeline, tetapi menonaktifkan transisi ke tahap ketiga hingga Anda siap untuk menerapkan ke produksi, atau saat Anda memecahkan masalah atau kegagalan dengan tahap itu.

Untuk menonaktifkan dan mengaktifkan transisi antar tahapan dalam pipeline CodePipeline
  1. Buka CodePipeline konsol dan pilih MyFirstPipelinedari daftar saluran pipa.

  2. Pada halaman detail untuk pipeline, pilih tombol Nonaktifkan transisi antara tahap kedua (Deploy) dan tahap ketiga yang Anda tambahkan di bagian sebelumnya (Produksi).

  3. Di Nonaktifkan transisi, masukkan alasan untuk menonaktifkan transisi antar tahapan, lalu pilih Nonaktifkan.

    Panah di antara tahapan menampilkan ikon dan perubahan warna, dan tombol Aktifkan transisi.

  4. Unggah sampel Anda lagi ke bucket S3. Karena bucket berversi, perubahan ini memulai pipeline.

  5. Kembali ke halaman detail untuk pipeline Anda dan perhatikan status tahapannya. Tampilan pipeline berubah untuk menunjukkan kemajuan dan keberhasilan pada dua tahap pertama, tetapi tidak ada perubahan yang terjadi pada tahap ketiga. Proses ini mungkin memakan waktu beberapa menit.

  6. Aktifkan transisi dengan memilih tombol Aktifkan transisi antara dua tahap. Dalam kotak dialog Aktifkan transisi, pilih Aktifkan. Tahap mulai berjalan dalam beberapa menit dan mencoba untuk memproses artefak yang telah dijalankan melalui dua tahap pertama dari pipa.

    catatan

    Jika Anda ingin tahap ketiga ini berhasil, edit grup CodePipelineProductionFleet penyebaran sebelum Anda mengaktifkan transisi, dan tentukan kumpulan instans EC2 yang berbeda di mana aplikasi digunakan. Untuk informasi selengkapnya tentang cara melakukannya, lihat Mengubah setelan grup penerapan. Jika Anda membuat lebih banyak instans EC2, Anda mungkin dikenakan biaya tambahan.

Langkah 7: Bersihkan sumber daya

Anda dapat menggunakan beberapa sumber daya yang Anda buat dalam tutorial ini untukTutorial: Buat pipeline empat tahap. Misalnya, Anda dapat menggunakan kembali CodeDeploy aplikasi dan penyebaran. Anda dapat mengonfigurasi tindakan build dengan penyedia seperti CodeBuild, yang merupakan layanan build yang dikelola sepenuhnya di cloud. Anda juga dapat mengonfigurasi tindakan build yang menggunakan penyedia dengan server atau sistem build, seperti Jenkins.

Namun, setelah Anda menyelesaikan ini dan tutorial lainnya, Anda harus menghapus pipeline dan sumber daya yang digunakannya, sehingga Anda tidak dikenakan biaya untuk terus menggunakan sumber daya tersebut. Pertama, hapus pipeline, lalu CodeDeploy aplikasi dan instans Amazon EC2 yang terkait, dan terakhir, bucket S3.

Untuk membersihkan sumber daya yang digunakan dalam tutorial ini
  1. Untuk membersihkan CodePipeline sumber daya Anda, ikuti petunjuk di Hapus pipeline di AWS CodePipeline.

  2. Untuk membersihkan CodeDeploy sumber daya Anda, ikuti petunjuk di Untuk membersihkan sumber daya (konsol).

  3. Untuk menghapus bucket S3, ikuti petunjuk di Menghapus atau mengosongkan ember. Jika Anda tidak bermaksud membuat lebih banyak saluran pipa, hapus bucket S3 yang dibuat untuk menyimpan artefak pipa Anda. Untuk informasi lebih lanjut tentang ember ini, lihatCodePipeline konsep .