Tutorial: Buat pipeline sederhana (bucket 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 (bucket S3)

Cara termudah untuk membuat alur yaitu dengan menggunakan alurMembuat Alurwizard diAWS CodePipelinekonsol.

Dalam tutorial ini, Anda membuat alur dua tahap yang menggunakan bucket S3 berversi dan CodeDeployuntuk merilis aplikasi sampel.

catatan

Ketika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat meng-zip file sumber atau file ke dalam satu.zip dan mengunggah.zip ke bucket sumber Anda. Anda juga dapat mengunggah satu file unzip; 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 Anda dalam prosedur ini melibatkanAWSsumber daya yang Anda butuhkan untuk membuat sebelum Anda membuat pipeline.AWSsumber daya untuk tindakan sumber Anda harus selalu dibuat dalam hal yang samaAWSWilayah di mana Anda membuat pipa Anda. Misalnya, jika Anda membuat alur Anda di Wilayah US East (Ohio), Anda CodeCommit repositori harus berada di Wilayah US East (Ohio).

Anda dapat menambahkan tindakan lintas wilayah saat membuat pipeline.AWSsumber daya untuk aksi lintas wilayah harus samaAWSWilayah di mana Anda berencana untuk mengeksekusi tindakan. Untuk informasi selengkapnya, lihat Tambahkan aksi lintas Wilayah di CodePipeline.

Sebelum memulai, Anda harus menyelesaikan prasyarat diMemulai dengan CodePipeline.

Langkah 1: Membuat bucket S3 untuk aplikasi Anda

Anda dapat menyimpan file atau aplikasi sumber Anda di lokasi berversi mana pun. Dalam tutorial ini, Anda membuat bucket S3 untuk aplikasi sampel dan mengaktifkan versi pada bucket tersebut. Setelah mengaktifkan 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. MasukNama 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 dalam contoh. Anda dapat mengubah nama contoh hanya dengan menambahkan tanggal untuk itu. Catat nama ini karena Anda membutuhkannya hingga akhir tutorial ini.

    MasukWilayah, pilih Wilayah tempat Anda ingin membuat alur Anda, sepertiAS Barat (Oregon), lalu pilihBuat ember.

  4. Setelah bucket dibuat, spanduk sukses akan ditampilkan. MemiilihPergi ke detail bucket.

  5. PadaPropertitab, pilihVersioning. MemiilihAktifkan versioning, lalu pilihSimpan.

    Saat versi diaktifkan, Amazon S3 menyimpan setiap versi setiap objek dalam bucket.

  6. PadaIzintab, biarkan default. Untuk informasi selengkapnya tentang izin bucket dan objek S3, lihatMenentukan Izin dalam Kebijakan.

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

    1. Pilih salah satu hal berikut. MemiilihSampleApp_Windows.zipjika Anda ingin mengikuti langkah-langkah dalam tutorial ini untuk instance Windows Server.

      • Jika Anda ingin menerapkan ke instans Amazon Linux menggunakan CodeDeploy, unduh contoh aplikasi di sini: SampleApp_Linux.zip.

      • Jika Anda ingin menyebarkan ke instans Windows Server menggunakan CodeDeploy, unduh contoh aplikasi di sini: SampleApp_Windows.zip.

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

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

    1. Pilih Upload (Unggah).

    2. Seret dan lepas file atau pilihTambahkan filedan telusuri file tersebut.

    3. Pilih Upload (Unggah).

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

catatan

Tutorial ini memberikan contoh langkah untuk membuat instans Windows Amazon EC2. Untuk langkah sampel untuk membuat instans Linux Amazon EC2, lihatLangkah 3: Buat instans Amazon EC2 dan instal CodeDeploy agen. Saat diminta jumlah instans yang akan dibuat, tentukan2contoh.

Pada langkah ini, Anda membuat instans Windows Server Amazon EC2 tempat Anda akan menerapkan contoh aplikasi. Sebagai bagian dari proses ini, Andamembuat peran instans dengan kebijakan yang memungkinkanmenginstaldan manajemen darisang CodeDeploy agen pada kasus. Yang CodeDeploy agen adalah paket perangkat lunak yang memungkinkan sebuah instance untuk digunakan CodeDeploydeployment. Anda juga melampirkan kebijakan yang memungkinkan instance untuk mengambil file yang CodeDeploy agen menggunakan untuk menyebarkan aplikasi Anda dan untuk memungkinkan instance yang akan dikelola oleh SSM.

Untuk membuat peran instans

  1. Buka konsol IAM dihttps://console.aws.amazon.com/iam/).

  2. Dari dasbor konsol, pilihPeran.

  3. Pilih Create role (Buat peran).

  4. Di bawahPilih jenis entitas tepercayaPilihAWSlayanan. Di bawahPilih kasus penggunaanPilihEC2, lalu pilihSelanjutnya: Izin.

  5. Cari dan pilih kebijakan bernamaAmazonEC2RoleforAWSCodeDeploy.

  6. Cari dan pilih kebijakan bernamaAmazonSSMManagedInstanceCore. Pilih Berikutnya: Tag.

  7. Pilih Berikutnya: Peninjauan. Masukkan nama untuk peran (misalnya,EC2InstanceRole).

    catatan

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

    Pilih Create role (Buat peran).

Untuk meluncurkan instance

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

  2. Dari navigasi samping, pilihInstans, dan pilihPeluncuran instancedari bagian atas halaman.

  3. Di bawahNama dan tag, diNamaENTERMyCodePipelineDemo. Ini menetapkan contoh tagKuncidariNamedan tagNilaidariMyCodePipelineDemo. Kemudian, Anda membuat CodeDeploy aplikasi yang menyebarkan aplikasi sampel ke instance. CodeDeploymemilih contoh untuk menyebarkan berdasarkan tag.

  4. Di bawahGambar Aplikasi dan OS (Amazon Machine Image), pilihsangWindowspilihan. (AMI inidigambarkan sebagaiMicrosoft Windows Server 2019 Basedandiberi label “Tingkat gratis memenuhi syarat” dan dapat ditemukandi bawahMulai cepat..)

  5. Di bawahJenis instans, pilih tingkat gratis yang memenuhi syaratt2.microketik sebagai konfigurasi perangkat keras untuk instans Anda.

  6. Di bawahPasangan kunci (login), pilih key pair atau buat satu.

    Anda juga dapat memilihLanjutkan tanpa key pair.

    catatan

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

  7. Di bawahPengaturan jaringan, lakukan hal berikut.

    MasukPenetapan IP Publik secara otomatis, pastikan statusnyaAktifkan.

    • Di sampingMenetapkan grup keamananPilihMembuat grup keamanan baru.

    • Di baris untukSSH, di bawahJenis SumberPilihIP saya.

    • MemiilihTambahkan grup keamananPilihHTTP, dan kemudian di bawahJenis SumberPilihIP saya.

  8. PerluasDetail lanjutan. MasukProfil instans IAM, pilih IAM role yang Anda buat dalam prosedur sebelumnya (misalnya,EC2InstanceRole).

  9. Di bawahRingkasan, di bawahJumlah instansENTER2..

  10. MemiilihLuncurkancontoh.

  11. MemiilihLihatsemuanstancesuntuk menutup halaman konfirmasi dan kembali ke konsol.

  12. Anda dapat melihat status peluncuran padaInstanshalaman. Saat Anda meluncurkan instans, status awalnya adalah pending. Setelah instans dimulai, statusnya berubah menjadi running, dan ia menerima nama DNS publik. (JikaDNS Publikkolom tidak ditampilkan, pilihTampilkan/Sembunyikanikon, dan kemudian pilihDNS Publik.)

  13. Diperlukan waktu beberapa menit hingga instans siap bagi Anda untuk terhubung dengannya. Periksa apakah pesan Anda telah lulus pemeriksaan ITstatus. Anda dapat melihat informasi ini diPemeriksaan statuskolom.

Langkah 3: Membuat aplikasi di CodeDeploy

Masuk CodeDeploy, sebuahpenerapanadalah pengidentifikasi, dalam bentuk nama, untuk kode yang ingin Anda gunakan. CodeDeploy menggunakan nama ini untuk memastikan kombinasi revisi yang benar, dan deployment grup direferensikan selama deployment. 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 peran lain.

Untuk membuat CodeDeploy peran layanan

  1. Buka konsol IAM dihttps://console.aws.amazon.com/iam/).

  2. Dari dasbor konsol, pilihPeran.

  3. Pilih Create role (Buat peran).

  4. Di bawahPilih entitas tepercayaPilihAWSlayanan. Di bawahKasus penggunaanPilihCodeDeploy. MemiilihCodeDeploydari opsi yang tercantum. Pilih Selanjutnya. YangAWSCodeDeployRolekebijakan terkelola sudah dilampirkan pada peran tersebut.

  5. Pilih Selanjutnya.

  6. Masukkan nama untuk peran (misalnya,CodeDeployRole), dan kemudian pilihBuat peran.

Untuk membuat aplikasi di CodeDeploy

  1. Buka CodeDeploy konsol dihttps://console.aws.amazon.com/codedeploy.

  2. JikaAplikasihalaman tidak muncul, padaAWS CodeDeploy menu, pilihAplikasi.

  3. Pilih Create application (Buat aplikasi).

  4. MasukNama aplikasiENTERMyDemoApplication.

  5. MasukHitung PlatformPilihEC2/on-premise.

  6. Pilih Create application (Buat aplikasi).

Untuk membuat grup deployment di CodeDeploy

  1. Pada halaman yang menampilkan aplikasi Anda, pilihMembuat grup deployment.

  2. MasukNama grup deploymentENTERMyDemoDeploymentGroup.

  3. MasukLayananrOLPilihperan layanan yang Anda buat sebelumnya. Anda harus menggunakanperan layanan yang dipercayaAWS CodeDeploydengan, minimal, kepercayaan dan izin yang dijelaskan dalamMembuat Peran Layanan CodeDeploy. Untuk mendapatkan peran layanan ARN, lihatDapatkan Peran Layanan ARN (Konsol).

  4. Di bawahJenis deploymentPilihDi tempat.

  5. Di bawahKonfigurasi lingkunganPilihInstans Amazon EC2. MemiilihNamadi dalamKuncilapangan, dan diNilaibidang, masukkanMyCodePipelineDemo.

    penting

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

  6. Di bawahKonfigurasi agen denganAWSSystems ManagerPilihSekarang dan jadwalkan pembaruan. Ini menginstal agen pada contoh. Instance Windows sudah dikonfigurasi dengan agen SSM dan sekarang akan diperbarui dengan CodeDeploy agen.

  7. Di bawahPengaturan deploymentPilihCodeDeployDefault.OneAtaTime.

  8. Di bawahPenyeimbang Beban, pastikanAktifkan penyeimbangan bebankotak tidak dipilih. Anda tidak perlu menyiapkan penyeimbang muatan atau memilih grup target untuk contoh ini. Setelah Anda membatalkan pilihan kotak centang, opsi penyeimbang beban tidak ditampilkan.

  9. DiLanjutanbagian, biarkan default.

  10. MemiilihMembuat grup deployment.

Langkah 4: Membuat pipeline pertama Anda di CodePipeline

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

Untuk membuat CodePipeline proses rilis otomatis

  1. Masuk keAWS Management Consoledan membuka CodePipeline konsol dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Padaselamat datanghalaman,Memulaihalaman, atauAlurhalaman, pilihMembuat Alur.

  3. Di Langkah 1: Pilih pengaturan pipa, diNama AlurENTERMyFirstPipeline.

    catatan

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

  4. MasukPeran layanan, lakukan salah satu hal berikut:

    • MemiilihPeran layanan baruyang mengizinkan CodePipeline untuk menciptakan peran layanan baru IAM.

    • MemiilihPeran layanan yang adauntuk menggunakan peran layanan yang sudah dibuat di IAM. MasukNama peran, pilih peran layanan Anda dari daftar.

  5. Biarkan pengaturan di bawahPengaturan lanjutandi default mereka, dan kemudian pilihSelanjutnya.

  6. Di Langkah 2: Tambahkan tahap sumber, diPenyedia sumberPilihAmazon S3. MasukBucket, masukkan nama bucket S3 yang Anda buatLangkah 1: Membuat bucket S3 untuk aplikasi Anda. MasukKunci objek S3, masukkan kunci objek dengan atau tanpa path file, dan ingat untuk menyertakan ekstensi file. Misalnya, untukSampleApp_Windows.zip, masukkan nama file sampel seperti yang ditunjukkan dalam contoh ini:

    SampleApp_Windows.zip

    Pilih Langkah selanjutnya.

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

    Pilih Selanjutnya.

  7. Di Langkah 3: Tambahkan tahapPilihLewati tahap, dan kemudian menerima pesan peringatan dengan memilihMemiilihlagi. Pilih Selanjutnya.

  8. Di Langkah 4: Tambahkan deployment, diPenyedia deploymentPilihCodeDeploy . YangWilayahfield default yang samaWilayah AWSsebagai alur Anda. MasukNama aplikasiENTERMyDemoApplication, atau pilihRefreshtombol, lalu pilih nama aplikasi dari daftar. MasukGrup deploymentENTERMyDemoDeploymentGroup, atau pilih dari daftar, lalu pilihSelanjutnya.

    catatan

    Nama Deploy adalah nama yang diberikan secara default ke tahap yang dibuat diLangkah 4: Tambahkan deploymentlangkah, sama seperti Sumber adalah nama yang diberikan untuk tahap pertama dari pipa.

  9. MasukLangkah 5: Tinjau, tinjau informasi, lalu pilihMembuat Alur.

  10. Pipa mulai berjalan. Anda dapat melihat pesan kemajuan dan keberhasilan dan kegagalan sebagai CodePipeline sampel menerapkan halaman web ke setiap instans Amazon EC2 di CodeDeploydeployment

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

  • Tahap sumber bernamaSumber, yang mendeteksi perubahan pada aplikasi sampel versi yang disimpan di bucket S3 dan menarik perubahan tersebut ke dalam alur.

  • SEBUAHDeploytahapan yang men-deploy perubahan tersebut ke instans EC2 CodeDeploy.

Sekarang, verifikasi hasilnya.

Untuk memverifikasi alur Anda berhasil

  1. Lihat kemajuan awal pipa. Status setiap tahap berubah dariBelum ada eksekusikepadaDalam Progres, dan kemudian ke salah satuBerhasilatauGagal. Pipeline harus menyelesaikan run pertama dalam beberapa menit.

  2. SetelahBerhasilditampilkan untuk status tindakan, di area status untukDeploytahap, pilihRincian. Ini akan membuka CodeDeploy konsol.

  3. DiGrup deploymenttab, di bawahPeristiwa siklus hidup deployment, pilih ID instance. Ini membuka konsol EC2.

  4. PadaDeskripsitabDNS Publik, salin alamatnya, lalu tempelkan ke bilah alamat browser web Anda. Lihat halaman indeks untuk aplikasi sampel yang Anda unggah ke bucket S3 Anda.

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

Untuk informasi lebih lanjut tentang tahapan, tindakan, dan cara kerja pipeline, lihatKonsep CodePipeline.

(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 penyebaran lain di CodePipelineDemoApplication di CodeDeploy. Kemudian Anda menambahkan tahap yang mencakup tindakan yang menggunakan grup penyebaran ini. Untuk menambahkan tahap lain, Anda menggunakan CodePipeline konsol atauAWS CLIuntuk mengambil dan mengedit struktur pipeline secara manual dalam file JSON, dan kemudian jalankanupdate-pipelineperintah untuk memperbarui alur dengan perubahan Anda.

Buat grup penyebaran kedua di CodeDeploy

catatan

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

Untuk membuat grup penyebaran kedua di CodeDeploy

  1. Memiilih CodeDeploy konsol dihttps://console.aws.amazon.com/codedeploy.

  2. MemiilihAplikasi, dan dalam daftar aplikasi, pilihMyDemoApplication.

  3. PilihGrup deploymenttab, dan kemudian pilihMembuat grup deployment.

  4. PadaMembuat grup deploymentpageNama grup deployment, masukkan nama untuk grup penerapan kedua (misalnya,CodePipelineProductionFleet).

  5. MasukPeran layanan, pilih yang sama CodeDeploy peran layanan yang Anda gunakan untuk penyebaran awal (bukan CodePipeline peran layanan).

  6. Di bawahJenis deployment, MemiilihDi tempat.

  7. Di bawahKonfigurasi lingkungan, MemiilihInstans Amazon EC2. MemiilihNamadi dalamKuncikotak, dan diNilaikotak, pilihMyCodePipelineDemodari daftar. Biarkan konfigurasi defaultPengaturan deployment.

  8. Di bawahKonfigurasi deployment, MemiilihCodeDeployDefault.OneAtaTime.

  9. Di bawahPenyeimbang Beban, jelasAktifkan penyeimbangan beban.

  10. MemiilihMembuat grup deployment.

Tambahkan grup penyebaran sebagai tahap lain di pipeline Anda

Sekarang Anda memiliki grup penyebaran lain, Anda dapat menambahkan tahap yang menggunakan grup penyebaran ini untuk menyebarkan ke instans EC2 yang sama yang Anda gunakan sebelumnya. Anda dapat menggunakan CodePipelinekonsol atauAWS CLIuntuk menambahkan tahap ini.

Buat tahap ketiga (konsol)

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

  1. Masuk keAWS Management Consoledan membuka CodePipeline konsol dihttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. MasukNama, pilih nama alur yang Anda buat, MyFirstPipeline.

  3. Pada halaman detail pipeline, pilihedit.

  4. Padaedithalaman, pilih+ Tambahkan tahapuntuk menambahkan tahap segera setelah tahap Deploy.

  5. MasukMenambahkan tahap, diNama tahapENTERProduction. MemiilihMenambahkan tahap.

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

  7. MasukEdit tindakan, diNama tindakanENTERDeploy-Second-Deployment. MasukPenyedia tindakan, di bawahDeploy, MemiilihCodeDeploy.

  8. Di CodeDeploy bagian, diNama aplikasi, MemiilihMyDemoApplicationdari daftar tarik-turun, seperti yang Anda lakukan saat Anda membuat alur. MasukGrup deployment, pilih grup penyebaran yang baru saja Anda buat,CodePipelineProductionFleet. MasukArtefak masukan, pilih artefak masukan dari aksi sumber. Pilih Save (Simpan).

  9. Padaedithalaman, pilihSimpan. MasukSimpan perubahan alur, MemiilihSimpan.

  10. Meskipun tahap baru telah ditambahkan ke pipa Anda, statusBelum ada eksekusiditampilkan karena tidak ada perubahan yang memicu jalannya pipa lainnya. Anda harus menjalankan ulang revisi terakhir secara manual untuk melihat bagaimana pipeline yang diedit berjalan. Pada halaman detail pipeline, pilihPerubahan rilis, lalu pilihRilissaat diminta. Ini menjalankan revisi terbaru yang tersedia di setiap lokasi sumber yang ditentukan dalam aksi sumber melalui pipeline.

    Atau, untuk menggunakanAWS CLIuntuk menjalankan ulang pipeline, dari terminal di mesin Linux, macOS, atau Unix lokal Anda, atau prompt perintah di mesin Windows lokal Anda, jalankanstart-pipeline-executionperintah, menentukan nama dari alur. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikanpipelineExecutionIdobjek.

  11. Kembali ke CodePipeline konsol dan dalam daftar alur, pilihMyFirstPipelineuntuk membuka halaman tampilan.

    Pipa menunjukkan tiga tahap dan keadaan artefak berjalan melalui tiga tahap. Ini mungkin memerlukan waktu hingga lima menit hingga alur berjalan melalui semua tahapan. Anda melihat penyebaran berhasil pada dua tahap pertama, seperti sebelumnya, tetapiProduksimenunjukkanPenyebaran-Kedua-Deploymenttindakan gagal.

  12. DiPenyebaran-Kedua-Deploymenttindakan, pilihRincian. Anda diarahkan ke halaman untuk CodeDeploydeployment Dalam kasus ini, kegagalan adalah hasil dari grup instance pertama yang diterapkan ke semua instans EC2, tanpa meninggalkan instance untuk grup penyebaran kedua.

    catatan

    Kegagalan ini adalah dengan desain, untuk menunjukkan apa yang terjadi ketika ada kegagalan dalam tahap pipa.

Buat tahap ketiga (CLI)

Meskipun menggunakanAWS CLIuntuk menambahkan panggung ke pipa Anda lebih kompleks daripada menggunakan konsol, ia memberikan lebih banyak visibilitas ke dalam struktur pipa.

Untuk membuat tahap ketiga untuk pipeline Anda

  1. Buka sesi terminal di mesin Linux, macOS, atau Unix lokal Anda, atau prompt perintah di mesin Windows lokal Anda, dan jalankanget-pipelineperintah untuk menampilkan struktur pipa 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 akan terlihat serupa dengan yang berikut ini:

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

    Bagian akhir dari output mencakup metadata alur dan akan serupa dengan yang berikut ini:

    ... ], "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 tempelkan struktur ini ke editor teks biasa, dan simpan file sebagaipipeline.json. Untuk kenyamanan, simpan file ini di direktori yang sama dengan tempat Anda menjalankanaws codepipelineperintah.

    catatan

    Anda dapat pipa JSON langsung ke file denganget-pipelineperintah sebagai berikut:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json
  3. SalinDeploydan tempelkan setelah dua tahapan pertama. Karena ini adalah tahap penyebaran, sama sepertiDeploytahap, 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 setelahDeploytahap. Edit elemen yang ditekankan dengan nilai-nilai baru. Ingatlah untuk menyertakan koma untuk memisahkanDeploydanProduksidefinisi tahap.

    , { "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 menggunakanget-pipelineperintah, Anda harus menghapusmetadatabaris dari file JSON. Jika tidak,update-pipelineperintah 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. Jalankanupdate-pipelineperintah, menentukan alur JSON, yang serupa dengan yang berikut ini:

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

    Perintah ini mengembalikan seluruh struktur pipeline diperbarui.

    penting

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

  7. Jalankanstart-pipeline-executionperintah, menentukan nama dari alur. Ini menjalankan aplikasi di bucket sumber Anda melalui pipeline untuk kedua kalinya.

    aws codepipeline start-pipeline-execution --name MyFirstPipeline

    Perintah ini mengembalikanpipelineExecutionIdobjek.

  8. Buka CodePipeline konsol dan pilihMyFirstPipelinedari daftar jaringan pipa.

    Pipa menunjukkan tiga tahap dan keadaan artefak berjalan melalui tiga tahap. Ini mungkin memerlukan waktu hingga lima menit hingga alur berjalan melalui semua tahapan. Meskipun penyebaran berhasil pada dua tahap pertama, seperti sebelumnya,Produksimenunjukkan bahwaPenyebaran-Kedua-Deploymenttindakan gagal.

  9. DiPenyebaran-Kedua-Deploymenttindakan, pilihRincianuntuk melihat rincian kegagalan. Anda akan dialihkan ke halaman detail untuk CodeDeploy deployment Dalam kasus ini, kegagalan adalah hasil dari grup instance pertama yang diterapkan ke semua instans EC2, tanpa meninggalkan instance untuk grup penyebaran kedua.

    catatan

    Kegagalan ini adalah dengan desain, 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 di alur. Menonaktifkan transisi antar tahap 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 sampai Anda siap untuk menyebarkan ke produksi, atau saat Anda memecahkan masalah atau kegagalan dengan tahap itu.

Untuk menonaktifkan dan mengaktifkan transisi antar tahapan dalam CodePipeline pipa

  1. Memiilih CodePipeline konsol dan pilihMyFirstPipelinedari daftar jaringan pipa.

  2. Pada halaman detail untuk alur, pilihNonaktifkan transisitombol antara tahap kedua (Deploy) dan tahap ketiga yang Anda tambahkan di bagian sebelumnya (Produksi).

  3. MasukNonaktifkan transisi, masukkan alasan untuk menonaktifkan transisi antar tahapan, lalu pilihNonaktifkan.

    Panah antar tahapan menampilkan ikon dan perubahan warna, danAktifkan transisitombol.

  4. Unggah sampel Anda lagi ke bucket S3 Anda. Karena bucket diversi, perubahan ini memulai pipeline. Untuk informasi, lihat Upload the sample application.

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

  6. Aktifkan transisi dengan memilihAktifkan transisitombol antara dua tahap. DiAktifkan transisikotak dialog, pilihAktifkan. Panggung mulai berjalan dalam beberapa menit dan mencoba untuk memproses artefak yang telah dijalankan melalui dua tahap pertama pipa.

    catatan

    Jika Anda ingin tahap ketiga ini berhasil, edit CodePipelineProductionFleet penyebaran kelompok sebelum Anda mengaktifkan transisi, dan menentukan satu set yang berbeda dari contoh EC2 mana aplikasi diterapkan. Untuk informasi selengkapnya tentang cara melakukan ini, lihatUbah pengaturan grup deployment. Jika Anda membuat lebih banyak instans EC2, Anda mungkin dikenakan biaya tambahan.

Langkah 7: Pembersihan 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 aksi build dengan penyedia seperti CodeBuild, yang merupakan layanan pembangunan terkelola penuh di cloud. Anda juga dapat mengonfigurasi aksi 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 pipa, lalu CodeDeploy aplikasi dan instans Amazon EC2 terkait, dan akhirnya, bucket S3.

Membersihkan sumber daya yang digunakan dalam tutorial ini

  1. Untuk membersihkan CodePipeline sumber daya, ikuti instruksi diHapus alur diAWS CodePipeline.

  2. Untuk membersihkan CodeDeploy sumber daya, ikuti instruksi diUntuk membersihkan sumber daya (konsol).

  3. Untuk menghapus bucket S3 Anda, ikuti petunjuk padaMenghapus atau mengosongkan bucket. Jika Anda tidak bermaksud membuat lebih banyak pipeline, hapus bucket S3 yang dibuat untuk menyimpan artefak pipeline Anda. Untuk informasi selengkapnya tentang bucket ini, lihatKonsep CodePipeline.