Buat pipeline yang menggunakanCodeBuild (AWS CLI) - AWS CodeBuild

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

Buat pipeline yang menggunakanCodeBuild (AWS CLI)

Gunakan prosedur berikut untuk membuat pipeline yang digunakanCodeBuild untuk pembangunan kode sumber Anda.

Untuk menggunakanAWS CLI untuk membuat pipeline yang menerapkan kode sumber bawaan Anda atau yang hanya menguji kode sumber Anda, Anda dapat menyesuaikan instruksi di Edit pipeline (AWS CLI) dan referensi strukturCodePipeline pipeline di PanduanAWS CodePipeline Pengguna.

  1. Membuat proyek pembangunan diCodeBuild. Untuk informasi selengkapnya, lihat Membuat proyek pembangunan.

    penting

    Proyek build harus menentukan pengaturan artefak keluaran build (meskipunCodePipeline menimpanya). Untuk informasi lebih lanjut, lihat deskripsiartifacts diBuat proyek build (AWS CLI).

  2. Pastikan Anda telah mengkonfigurasiAWS CLI dengan kunciAWS akses dan kunci aksesAWS rahasia yang sesuai dengan salah satu entitas IAM yang dijelaskan dalam topik ini. Untuk informasi selengkapnya, lihat MengaturAWS Command Line Interface di PanduanAWS Command Line Interface Pengguna.

  3. Buat file berformat JSON yang mewakili struktur pipeline. Beri nama filecreate-pipeline.json atau serupa. Misalnya, struktur berformat JSON ini membuat pipeline dengan aksi sumber yang mereferensikan bucket input S3 dan aksi build yang menggunakanCodeBuild:

    { "pipeline": { "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "<bucket-name>", "S3ObjectKey": "<source-code-file-name.zip>" }, "runOrder": 1 } ] }, { "name": "Build", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Build", "actionTypeId": { "category": "Build", "owner": "AWS", "version": "1", "provider": "CodeBuild" }, "outputArtifacts": [ { "name": "default" } ], "configuration": { "ProjectName": "<build-project-name>" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "<CodePipeline-internal-bucket-name>" }, "name": "<my-pipeline-name>", "version": 1 } }

    Dalam data berformat JSON ini:

    • NilairoleArn harus sesuai dengan ARN dari peranCodePipeline layanan yang Anda buat atau identifikasi sebagai bagian dari prasyarat.

    • Nilai-nilaiS3Bucket danS3ObjectKey diconfiguration asumsikan kode sumber disimpan dalam bucket S3. Untuk pengaturan jenis repositori kode sumber lainnya, lihat referensi strukturCodePipeline pipeline di PanduanAWS CodePipeline Pengguna.

    • NilaiProjectName adalah nama proyekCodeBuild pembangunan yang Anda buat sebelumnya dalam prosedur ini.

    • Nilai bucket S3 yang digunakan oleh pipeline ini.location Untuk informasi selengkapnya, lihat Membuat kebijakan untuk Bucket S3 yang akan digunakan sebagai penyimpanan artefakCodePipeline di PanduanAWS CodePipeline Pengguna.

    • Nilainame adalah nama pipa ini. Semua nama pipa harus unik untuk akun Anda.

    Meskipun data ini hanya menjelaskan tindakan sumber dan aksi build, Anda dapat menambahkan tindakan untuk aktivitas yang terkait dengan pengujian, menerapkan artefak keluaran build, memanggilAWS Lambda fungsi, dan banyak lagi. Untuk informasi selengkapnya, lihat referensi strukturAWS CodePipeline pipeline di PanduanAWS CodePipeline Pengguna.

  4. Beralih ke folder yang berisi file JSON, dan kemudian jalankanCodePipelinecreate-pipeline perintah, menentukan nama file:

    aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
    catatan

    Anda harus membuat pipeline diAWS Wilayah yangCodeBuild didukung. Untuk informasi lain, lihat AWS CodeBuild di Referensi Umum Amazon Web Services.

    Data berformat JSON muncul dalam output, danCodePipeline membuat pipeline.

  5. Untuk mendapatkan informasi tentang status pipeline, jalankanCodePipelineget-pipeline-state perintah, tentukan nama pipeline:

    aws codepipeline get-pipeline-state --name <my-pipeline-name>

    Dalam output, cari informasi yang menegaskan pembangunan berhasil. Ellipses (...) digunakan untuk menampilkan data yang telah dihilangkan untuk singkatnya.

    { ... "stageStates": [ ... { "actionStates": [ { "actionName": "CodeBuild", "latestExecution": { "status": "SUCCEEDED", ... }, ... } ] } ] }

    Jika Anda menjalankan perintah ini terlalu dini, Anda mungkin tidak melihat informasi apa pun tentang aksi build. Anda mungkin perlu menjalankan perintah ini beberapa kali hingga pipeline selesai menjalankan aksi build.

  6. Setelah membangun sukses, ikuti petunjuk ini untuk mendapatkan artefak keluaran build. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

    catatan

    Anda juga bisa mendapatkan artefak keluaran build dengan memilih tautan Build artefak pada halaman detail build terkait diCodeBuild konsol. Untuk sampai ke halaman ini, lewati langkah-langkah lainnya dalam prosedur ini, dan lihatLihat detail build (konsol).

  7. Dalam daftar bucket, buka bucket yang digunakan oleh pipa. Nama bucket harus mengikuti formatcodepipeline-<region-ID>-<random-number>. Anda bisa mendapatkan nama bucket daricreate-pipeline.json file atau Anda dapat menjalankanCodePipelineget-pipeline perintah untuk mendapatkan nama bucket.

    aws codepipeline get-pipeline --name <pipeline-name>

    Dalam output,pipeline objek berisiartifactStore objek, yang berisilocation nilai dengan nama ember.

  8. Buka folder yang cocok dengan nama pipeline Anda (misalnya,<pipeline-name>).

  9. Di folder itu, buka folder bernamadefault.

  10. Ekstrak isi file tersebut. Jika ada beberapa file di folder itu, ekstrak isi file dengan stempel waktu terakhir Modifikasi terbaru. (Anda mungkin perlu memberikan file.zip ekstensi sehingga Anda dapat bekerja dengannya di utilitas ZIP sistem Anda.) Artefak keluaran build ada di isi file yang diekstrak.