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

Dalam tutorial ini, Anda gunakan CodePipeline untuk menyebarkan kode yang dikelola dalam CodeCommit repositori ke satu instance Amazon. EC2 Pipeline Anda dipicu saat Anda mendorong perubahan ke CodeCommit repositori. Pipeline menyebarkan perubahan Anda ke EC2 instans Amazon yang digunakan CodeDeploy sebagai layanan penerapan.

penting

Sebagai bagian dari pembuatan pipa, ember artefak S3 yang disediakan oleh pelanggan akan digunakan CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

Pipa memiliki dua tahap:

  • Tahap sumber (Sumber) untuk tindakan CodeCommit sumber Anda.

  • Tahap penerapan (Deploy) untuk tindakan CodeDeploy penerapan Anda.

Cara termudah untuk memulai AWS CodePipeline adalah dengan menggunakan wizard Create Pipeline di CodePipeline konsol.

catatan

Sebelum memulai, pastikan Anda telah menyiapkan klien Git Anda untuk bekerja dengannya CodeCommit. Untuk petunjuk, lihat Menyiapkan untuk CodeCommit.

Langkah 1: Buat CodeCommit repositori

Pertama, Anda membuat repositori di. CodeCommit Pipeline Anda mendapatkan kode sumber dari repositori ini saat dijalankan. Anda juga membuat repositori lokal tempat Anda memelihara dan memperbarui kode sebelum Anda mendorongnya ke repositori. CodeCommit

Untuk membuat CodeCommit repositori

  1. Buka CodeCommit konsol di https://console.aws.amazon.com/codecommit/.

  2. Di pemilih Region, pilih Wilayah AWS tempat Anda ingin membuat repositori dan pipeline. Untuk informasi lebih lanjut, lihat Wilayah AWS dan Titik Akhir.

  3. Pada halaman Repositori, pilih Buat repositori.

  4. Pada halaman Buat repositori, dalam Nama Repositori, ketikkan nama untuk repositori Anda, (misalnya MyDemoRepo).

  5. Pilih Buat.

catatan

Langkah-langkah yang tersisa dalam tutorial ini digunakan MyDemoRepo untuk nama CodeCommit repositori Anda. Jika Anda memilih nama yang berbeda, pastikan untuk menggunakannya di seluruh tutorial ini.

Untuk menyiapkan repositori lokal

Pada langkah ini, Anda mengatur repositori lokal untuk terhubung ke repositori jarak jauh CodeCommit Anda.

catatan

Anda tidak diharuskan untuk menyiapkan repositori lokal. Anda juga dapat menggunakan konsol untuk mengunggah file seperti yang dijelaskan dalamLangkah 2: Tambahkan kode sampel ke CodeCommit repositori Anda.

  1. Dengan repositori baru Anda terbuka di konsol, pilih Clone URL di kanan atas halaman, lalu pilih Clone. SSH Alamat untuk mengkloning repositori Git Anda disalin ke clipboard Anda.

  2. Di terminal atau baris perintah Anda, navigasikan ke direktori lokal tempat Anda ingin repositori lokal Anda disimpan. Dalam tutorial ini, kita gunakan/tmp.

  3. Jalankan perintah berikut untuk mengkloning repositori, mengganti SSH alamat dengan yang Anda salin pada langkah sebelumnya. Perintah ini membuat direktori yang disebutMyDemoRepo. Anda menyalin contoh aplikasi ke direktori ini.

    git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/MyDemoRepo

Langkah 2: Tambahkan kode sampel ke CodeCommit repositori Anda

Pada langkah ini, Anda mengunduh kode untuk contoh aplikasi yang dibuat untuk panduan CodeDeploy sampel, dan menambahkannya ke repositori Anda CodeCommit .

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

    1. Pilih salah satu dari berikut ini. Pilih SampleApp_Linux.zip apakah Anda ingin mengikuti langkah-langkah dalam tutorial ini untuk instance Linux.

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

      • appspec.yml— File spesifikasi aplikasi (AppSpecfile) adalah file YAMLberformat 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).

  2. Buka zip file dari SampleApp_Linux.zip ke direktori lokal yang Anda buat sebelumnya (misalnya, /tmp/MyDemoRepo atauc:\temp\MyDemoRepo).

    Pastikan untuk menempatkan file langsung ke repositori lokal Anda. Jangan sertakan SampleApp_Linux folder. Di Linux, macOS, atau mesin Unix lokal Anda, misalnya, direktori dan hierarki file Anda akan terlihat seperti ini:

    /tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server
  3. Untuk mengunggah file ke repositori Anda, gunakan salah satu metode berikut.

    1. Untuk menggunakan CodeCommit konsol untuk mengunggah file Anda:

      1. Buka CodeCommit konsol, dan pilih repositori Anda dari daftar Repositori.

      2. Pilih Tambahkan file, lalu pilih Unggah file.

      3. Pilih Pilih file, lalu telusuri file Anda. Untuk menambahkan file di bawah folder, pilih Buat file dan kemudian masukkan nama folder dengan nama file, sepertiscripts/install_dependencies. Tempel konten file ke file baru.

        Lakukan perubahan dengan memasukkan nama pengguna dan alamat email Anda.

        Pilih Perubahan commit.

      4. Ulangi langkah ini untuk setiap file.

        Isi repositori Anda akan terlihat seperti ini:

        │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server └-- stop_server
    2. Untuk menggunakan perintah git untuk mengunggah file Anda:

      1. Ubah direktori ke repo lokal Anda:

        (For Linux, macOS, or Unix) cd /tmp/MyDemoRepo (For Windows) cd c:\temp\MyDemoRepo
      2. Jalankan perintah berikut untuk mementaskan semua file Anda sekaligus:

        git add -A
      3. Jalankan perintah berikut untuk mengkomit file dengan pesan komit:

        git commit -m "Add sample application files"
      4. Jalankan perintah berikut untuk mendorong file dari repo lokal Anda ke CodeCommit repositori Anda:

        git push
  4. File yang Anda unduh dan tambahkan ke repo lokal Anda sekarang telah ditambahkan ke main cabang di CodeCommit MyDemoRepo repositori Anda dan siap untuk disertakan dalam pipeline.

Langkah 3: Buat instance Amazon EC2 Linux dan instal CodeDeploy agen

Pada langkah ini, Anda membuat EC2 instance Amazon tempat Anda menerapkan aplikasi sampel. Sebagai bagian dari proses ini, buat peran instance yang memungkinkan penginstalan dan pengelolaan CodeDeploy agen pada instance. 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 instans dikelola. SSM

Untuk membuat peran instance
  1. Buka IAM konsol 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. Di bawah Pilih kasus penggunaan Anda, pilih EC2. 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 Berikutnya: 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 sebuah instans
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

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

  3. Di Nama, masukkan MyCodePipelineDemo. Ini memberikan contoh tag Key dari Name dan tag Nilai dari. MyCodePipelineDemo Kemudian, Anda membuat CodeDeploy aplikasi yang menyebarkan aplikasi sampel ke instance ini. CodeDeploymemilih instance untuk menyebarkan berdasarkan tag.

  4. Di bawah Application and OS Images (Amazon Machine Image), cari AMI opsi Amazon Linux dengan AWS logo, dan pastikan itu dipilih. (AMIIni digambarkan sebagai Amazon Linux 2 AMI (HVM) dan diberi label “Tingkat gratis memenuhi syarat”.)

  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 menyambung 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. Dalam IAMcontoh profil, pilih IAM peran yang Anda buat dalam prosedur sebelumnya (misalnya,EC2InstanceRole).

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

  10. Pilih Luncurkan instans.

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

Langkah 4: Buat aplikasi di CodeDeploy

Di CodeDeploy, aplikasi adalah sumber daya yang berisi aplikasi perangkat lunak yang ingin Anda gunakan. Kemudian, Anda menggunakan aplikasi ini CodePipeline untuk mengotomatiskan penerapan aplikasi sampel ke instans Amazon Anda. EC2

Pertama, Anda membuat peran yang memungkinkan CodeDeploy untuk melakukan penerapan. Kemudian, Anda membuat CodeDeploy aplikasi.

Untuk membuat peran CodeDeploy layanan
  1. Buka IAM konsol 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 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

Grup penerapan adalah sumber daya yang mendefinisikan setelan terkait penerapan seperti instance mana yang akan digunakan dan seberapa cepat menerapkannya.

  1. Pada halaman yang menampilkan aplikasi Anda, pilih Buat grup penyebaran.

  2. Dalam nama grup Deployment, masukkanMyDemoDeploymentGroup.

  3. Dalam peran Layanan, pilih peran layanan yang Anda buat sebelumnya (misalnya,arn:aws:iam::account_ID:role/CodeDeployRole). ARN

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

  5. Di bawah Konfigurasi lingkungan, pilih EC2Instans Amazon. Di bidang Key, masukkanName. Di bidang Nilai, masukkan nama yang Anda gunakan untuk menandai instance (misalnya,MyCodePipelineDemo).

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

  7. Di bawah konfigurasi Deployment, pilihCodeDeployDefault.OneAtaTime.

  8. Di bawah Load Balancer, pastikan Aktifkan load balancing tidak dipilih. Anda tidak perlu mengatur penyeimbang beban atau memilih grup target untuk contoh ini.

  9. Pilih Buat grup penyebaran.

Langkah 5: Buat pipeline pertama Anda di CodePipeline

Anda sekarang siap untuk membuat dan menjalankan pipeline pertama Anda. Pada langkah ini, Anda membuat pipeline yang berjalan secara otomatis saat kode didorong ke CodeCommit repositori Anda.

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

    Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

  2. Pilih Buat pipeline.

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

  4. Dalam tipe Pipeline, pilih V2. Untuk informasi selengkapnya, lihat Jenis pipa. Pilih Berikutnya.

  5. Di peran Layanan, pilih Peran layanan baru CodePipeline untuk memungkinkan membuat peran layananIAM.

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

  7. Pada Langkah 2: Tambahkan tahap sumber, di penyedia Sumber, pilih CodeCommit. Dalam nama Repositori, pilih nama CodeCommit repositori yang Anda buat. Langkah 1: Buat CodeCommit repositori Di Nama cabang, pilihmain, lalu pilih Langkah berikutnya.

    Setelah Anda memilih nama repositori dan cabang, pesan akan menampilkan aturan Amazon CloudWatch Events yang akan dibuat untuk pipeline ini.

    Di bawah Ubah opsi deteksi, biarkan default. Hal ini memungkinkan CodePipeline untuk menggunakan Amazon CloudWatch Events untuk mendeteksi perubahan dalam repositori 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.

    catatan

    Dalam tutorial ini, Anda menerapkan kode yang tidak memerlukan layanan build, sehingga Anda dapat melewati langkah ini. Namun, jika kode sumber Anda perlu dibangun sebelum diterapkan ke instance, Anda dapat mengonfigurasinya CodeBuilddi langkah ini.

  9. Pada Langkah 4: Tambahkan tahap penerapan, di Penyedia penyebaran, pilih. CodeDeploy Di Nama aplikasi, pilihMyDemoApplication. Di grup Deployment, pilihMyDemoDeploymentGroup, lalu pilih Langkah berikutnya.

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

  11. Pipa mulai berjalan setelah dibuat. Ini mengunduh kode dari CodeCommit repositori Anda dan membuat CodeDeploy penerapan ke instance Anda. EC2 Anda dapat melihat pesan kemajuan dan keberhasilan dan kegagalan saat CodePipeline sampel menyebarkan halaman web ke EC2 instans Amazon dalam penerapan CodeDeploy .

    Tampilan pipeline mulai berjalan di CodePipeline konsol.

Selamat! Anda baru saja membuat pipa sederhana di CodePipeline.

Selanjutnya, Anda memverifikasi hasilnya.

Untuk memverifikasi bahwa 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 Succeeded ditampilkan untuk status pipeline, di area status untuk tahap Deploy, pilih. CodeDeploy Ini membuka CodeDeploy konsol. Jika Berhasil tidak ditampilkan lihatPemecahan masalah CodePipeline.

  3. Pada tab Deployment, pilih ID deployment. Pada halaman untuk penerapan, di bawah peristiwa siklus hidup Deployment, pilih ID instance. Hal ini membuka konsol EC2 tersebut.

  4. Pada tab Deskripsi, di Publik DNS, salin alamat (misalnya,ec2-192-0-2-1.us-west-2.compute.amazonaws.com), lalu tempelkan ke bilah alamat browser web Anda.

    Halaman web ditampilkan untuk contoh aplikasi yang Anda unduh dan dorong ke CodeCommit repositori Anda.

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

Langkah 6: Ubah kode di CodeCommit repositori Anda

Pipeline Anda dikonfigurasi untuk berjalan setiap kali perubahan kode dilakukan ke CodeCommit repositori Anda. Pada langkah ini, Anda membuat perubahan pada HTML file yang merupakan bagian dari CodeDeploy aplikasi sampel di CodeCommit repositori. Saat Anda mendorong perubahan ini, pipeline Anda berjalan lagi, dan perubahan yang Anda buat terlihat di alamat web yang Anda akses sebelumnya.

  1. Ubah direktori ke repo lokal Anda:

    (For Linux, macOS, or Unix) cd /tmp/MyDemoRepo (For Windows) cd c:\temp\MyDemoRepo
  2. Gunakan editor teks untuk memodifikasi index.html file:

    (For Linux or Unix)gedit index.html (For OS X)open –e index.html (For Windows)notepad index.html
  3. Merevisi isi index.html file untuk mengubah warna latar belakang dan beberapa teks pada halaman web, dan kemudian menyimpan file.

    <!DOCTYPE html> <html> <head> <title>Updated Sample Deployment</title> <style> body { color: #000000; background-color: #CCFFCC; font-family: Arial, sans-serif; font-size:14px; } h1 { font-size: 250%; font-weight: normal; margin-bottom: 0; } h2 { font-size: 175%; font-weight: normal; margin-bottom: 0; } </style> </head> <body> <div align="center"><h1>Updated Sample Deployment</h1></div> <div align="center"><h2>This application was updated using CodePipeline, CodeCommit, and CodeDeploy.</h2></div> <div align="center"> <p>Learn more:</p> <p><a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/">CodePipeline User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codecommit/latest/userguide/">CodeCommit User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/">CodeDeploy User Guide</a></p> </div> </body> </html>
  4. Komit dan dorong perubahan Anda ke CodeCommit repositori Anda dengan menjalankan perintah berikut, satu per satu:

    git commit -am "Updated sample application files"
    git push
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. Pengerjaan pipa harus selesai dalam beberapa menit.

  2. Setelah Berhasil ditampilkan untuk status tindakan, segarkan halaman demo yang Anda akses sebelumnya di browser Anda.

    Halaman web yang diperbarui ditampilkan.

Langkah 7: Bersihkan sumber daya

Anda dapat menggunakan beberapa sumber daya yang Anda buat dalam tutorial ini untuk tutorial lain dalam panduan ini. Misalnya, Anda dapat menggunakan kembali CodeDeploy aplikasi dan penyebaran. 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 EC2 instance Amazon terkait, dan terakhir, CodeCommit repositori.

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 Clean Up Deployment Walkthrough Resources.

  3. Untuk menghapus CodeCommit repositori, ikuti instruksi di Hapus repositori. CodeCommit

Langkah 8: Bacaan lebih lanjut

Pelajari lebih lanjut tentang cara CodePipeline kerja: