Praktik terbaik CodePipeline dan kasus penggunaan - AWS CodePipeline

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

Praktik terbaik CodePipeline dan kasus penggunaan

AWS CodePipelineterintegrasi dengan sejumlah produk dan layanan. Bagian berikut menjelaskan praktik terbaik dan kasus penggunaan CodePipeline dan produk dan layanan terkait ini.

Kasus penggunaan bisnis sederhana untuk CodePipeline dapat membantu Anda memahami cara Anda dapat menerapkan layanan dan mengontrol akses pengguna. Kasus penggunaan dijelaskan secara umum. Mereka tidak meresepkan API untuk digunakan untuk mencapai hasil yang Anda inginkan.

Praktik terbaik

Gunakan praktik terbaik yang diuraikan dalam bagian ini saat menggunakan CodePipeline.

Praktik terbaik keamanan untuk sumber daya CodePipeline

Anda menggunakan enkripsi dan otentikasi untuk repositori sumber yang terhubung ke saluran pipa Anda. Untuk CodePipeline praktik terbaik untuk keamanan, lihatPraktik terbaik keamanan.

Memantau dan mencatat praktik terbaik untuk sumber daya CodePipeline

Anda dapat menggunakan fitur pencatatan di AWS untuk menentukan tindakan yang telah dilakukan pengguna di akun Anda dan sumber daya yang digunakan. Berkas log menunjukkan:

  • Waktu dan tanggal tindakan.

  • Alamat IP sumber untuk sebuah tindakan.

  • Tindakan mana yang gagal karena izin yang tidak memadai.

Fitur log tersedia dalam layanan AWS berikut:

  • AWS CloudTraildapat digunakan untuk logAWSPanggilan API dan kejadian terkait yang dilakukan oleh atau atas namaAWSakun. Untuk informasi selengkapnya, lihat Pembuatan log panggilan API CodePipeline denganAWS CloudTrail.

  • Amazon CloudWatch Acara dapat digunakan untuk memantauAWSSumber daya cloud dan aplikasi yang Anda jalankan diAWS. Anda dapat membuat peringatan di Amazon CloudWatch Event berdasarkan metrik yang Anda tentukan. Untuk informasi selengkapnya, lihat Memantau peristiwa CodePipeline.

Praktik terbaik untuk plugin Jenkins

Gunakan praktik terbaik yang disediakan di bagian ini untuk jaringan pipa dengan penyedia tindakan Jenkins.

Konfigurasikan instans Amazon EC2 dan peran IAM terpisah untuk server build Jenkins

Sebagai praktik terbaik, saat Anda menggunakan penyedia build Jenkins untuk aksi build atau pengujian pipeline Anda, instal Jenkins di instans Amazon EC2 dan konfigurasikan profil instans EC2 terpisah. Pastikan profil instance memberikan Jenkins hanyaAWSizin yang diperlukan untuk melakukan tugas untuk proyek Anda, seperti mengambil file dari Amazon S3.

Profil instans menyediakan aplikasi yang berjalan di instans Amazon EC2 dengan mandat untuk mengakses aplikasi lainnyaAWSlayanan. Akibatnya, Anda tidak perlu mengonfigurasiAWSkredenensi (AWSkunci akses dan kunci rahasia).

Untuk mempelajari cara membuat peran untuk profil instans Jenkins Anda, lihat langkah-langkah diMembuat peran IAM untuk digunakan untuk integrasi Jenkins.

Kasus penggunaan CodePipeline

Anda dapat membuat jaringan pipa yang terintegrasi dengan lainnyaAWSlayanan. Ini dapatAWSlayanan, seperti Amazon S3, atau produk pihak ketiga, seperti GitHub. Bagian ini menyediakan contoh untuk menggunakan CodePipeline untuk mengotomatisasi rilis kode Anda menggunakan integrasi produk yang berbeda. Untuk daftar lengkap integrasi dengan CodePipeline diselenggarakan berdasarkan jenis tindakan, lihatReferensi struktur pipa CodePipeline.

Gunakan CodePipeline dengan Amazon S3AWS CodeCommit, danAWS CodeDeploy

Saat Anda membuat pipa, CodePipeline terintegrasi denganAWSproduk dan layanan yang bertindak sebagai penyedia tindakan di setiap tahap pipa Anda. Bila Anda memilih tahapan di wizard, Anda harus memilih tahap sumber dan setidaknya tahap build atau deploy. Wizard membuat tahapan untuk Anda dengan nama default yang tidak dapat diubah. Ini adalah nama panggung yang dibuat saat Anda menyiapkan pipa tiga tahap penuh di wizard:

  • Tahap aksi sumber dengan nama default “Source.”

  • Tahap aksi build dengan nama default “Build.”

  • Tahap aksi deploy dengan nama default “Staging.”

Anda dapat menggunakan tutorial dalam panduan ini untuk membuat jaringan pipa dan menentukan tahapan:

  • Langkah-langkah diTutorial: Buat pipa sederhana (S3 bucket)membantu Anda menggunakan wizard untuk membuat pipa dengan dua tahap default: “Sumber” dan “Staging”, tempat repositori Amazon S3 Anda adalah penyedia sumber. Tutorial ini membuat pipa yang menggunakanAWS CodeDeployuntuk men-deploy aplikasi sampel dari bucket Amazon S3 ke instans Amazon EC2 yang menjalankan Amazon Linux.

  • Langkah-langkah diTutorial: Buat pipa sederhana (repositori CodeCommit)membantu Anda menggunakan wizard untuk membuat saluran pipa dengan tahap “Sumber” yang menggunakanAWS CodeCommitrepositori sebagai penyedia sumber daya. Tutorial ini membuat pipa yang menggunakanAWS CodeDeployuntuk menggunakan aplikasi sampel dari sebuahAWS CodeCommitrepositori ke instans Amazon EC2 yang menjalankan Amazon Linux.

Gunakan CodePipeline dengan penyedia tindakan pihak ketiga (GitHub dan Jenkins)

Anda dapat membuat jaringan pipa yang terintegrasi dengan produk pihak ketiga seperti GitHub dan Jenkins. Langkah-langkah diTutorial: Buat pipa empat tahapmenunjukkan cara membuat pipa yang:

  • Mendapat kode sumber dari GitHub repositori,

  • Menggunakan Jenkins untuk membangun dan menguji kode sumber,

  • MenggunakanAWS CodeDeployuntuk menyebarkan kode sumber yang dibangun dan diuji ke instans Amazon EC2 yang menjalankan Amazon Linux atau Microsoft Windows Server.

Gunakan CodePipeline dengan AWS CodeStar untuk membangun pipa dalam proyek kode

AWS CodeStar adalah layanan berbasis cloud yang menyediakan antarmuka pengguna terpadu untuk mengelola proyek-proyek pengembangan perangkat lunak diAWS. AWS CodeStar bekerja dengan CodePipeline untuk menggabungkanAWSsumber daya menjadi toolchain pengembangan proyek. Anda dapat menggunakan AWS CodeStar dasbor untuk secara otomatis membuat pipa, repositori, kode sumber, membangun file spesifikasi, metode penyebaran, dan contoh hosting atau instance tanpa server yang diperlukan untuk proyek kode lengkap.

Untuk membuat AWS CodeStar proyek, Anda memilih bahasa pengkodean Anda dan jenis aplikasi yang ingin Anda deploy. Anda dapat membuat jenis proyek berikut: aplikasi web, layanan web, atau keterampilan Alexa.

Kapan saja, Anda dapat mengintegrasikan IDE pilihan Anda ke AWS Anda CodeStar dasbor. Anda juga dapat menambahkan dan menghapus anggota tim dan mengelola izin untuk anggota tim di proyek Anda. Untuk tutorial yang menunjukkan cara menggunakan AWS CodeStar untuk membuat pipa sampel untuk aplikasi tanpa server, lihatTutorial: Membuat dan Mengelola Proyek Tanpa Server di AWS CodeStar.

Gunakan CodePipeline untuk mengkompilasi, membangun, dan menguji kode dengan CodeBuild

CodeBuild adalah layanan build terkelola di cloud yang memungkinkan Anda membangun dan menguji kode Anda tanpa server atau sistem. Gunakan CodePipeline bersama CodeBuild untuk mengotomatisasi revisi berjalan melalui pipa untuk pengiriman terus menerus perangkat lunak membangun setiap kali ada perubahan pada kode sumber. Untuk informasi selengkapnya, lihatGunakan CodePipeline bersama CodeBuild untuk menguji kode dan menjalankan build.

Gunakan CodePipeline dengan Amazon ECS untuk pengiriman terus menerus aplikasi berbasis kontainer ke cloud

Amazon ECS adalah layanan manajemen kontainer yang memungkinkan Anda menerapkan aplikasi berbasis kontainer ke instans Amazon ECS di cloud. Gunakan CodePipeline dengan Amazon ECS untuk mengotomatiskan revisi yang berjalan melalui pipeline untuk penerapan aplikasi berbasis kontainer secara berkesinambungan setiap kali ada perubahan pada repositori gambar sumber. Untuk informasi lebih lanjut, lihat Tutorial: Penyebaran Berkelanjutan dengan CodePipeline.

Gunakan CodePipeline dengan Elastic Beanstalk untuk pengiriman terus menerus aplikasi web ke cloud

Elastic Beanstalk adalah layanan komputasi yang memungkinkan Anda menyebarkan aplikasi web dan layanan ke server web. Gunakan CodePipeline dengan Elastic Beanstalk untuk penyebaran terus menerus aplikasi web ke lingkungan aplikasi Anda. Anda juga dapat menggunakan AWS CodeStar untuk membuat pipa dengan Elastic Beanstalk menyebarkan tindakan.

Gunakan CodePipeline bersamaAWS Lambdauntuk pengiriman terus menerus aplikasi berbasis Lambda dan tanpa server

Anda dapat menggunakanAWS Lambdabersama CodePipeline untuk memohonAWS Lambdafungsi, seperti yang dijelaskan dalamMen-deploy Aplikasi Serverless. Anda juga dapat menggunakanAWS Lambdadan AWS CodeStar untuk membuat pipa untuk menyebarkan aplikasi tanpa server.

Gunakan CodePipeline bersamaAWS CloudFormationtemplate untuk pengiriman terus menerus ke cloud

Anda dapat menggunakanAWS CloudFormationbersama CodePipeline untuk pengiriman terus menerus dan otomatisasi. Untuk informasi selengkapnya, lihatPengiriman berkelanjutan dengan CodePipeline.AWS CloudFormationjuga digunakan untuk membuat template untuk jaringan pipa yang dibuat di AWS CodeStar.