Jalankan build (AWS CLI) - AWS CodeBuild

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

Jalankan build (AWS CLI)

catatan

Untuk menggunakanCodePipelineuntuk menjalankan build denganAWS CodeBuild, lewati langkah-langkah ini dan ikuti instruksi diBuat pipeline yang menggunakan CodeBuild (AWS CLI).

Untuk informasi lebih lanjut tentang menggunakanAWS CLIbersamaCodeBuild, lihatReferensi baris perintah.

  1. Jalankanstart-buildperintah dalam salah satu cara berikut:

    aws codebuild start-build --project-name <project-name>

    Gunakan ini jika Anda ingin menjalankan build yang menggunakan artefak input build versi terbaru dan setelan proyek build yang ada.

    aws codebuild start-build --generate-cli-skeleton

    Gunakan ini jika Anda ingin menjalankan build dengan artefak input build versi sebelumnya atau jika Anda ingin mengganti pengaturan untuk artefak keluaran build, variabel lingkungan, buildspec, atau periode batas waktu build default.

  2. Jika Anda menjalankanstart-buildperintah dengan--project-nameopsi, ganti<project-name>dengan nama proyek build, lalu lewati ke langkah 6 dari prosedur ini. Untuk mendapatkan daftar proyek pembangunan, lihatLihat nama proyek build.

  3. Jika Anda menjalankanstart-buildperintah dengan--idempotency-tokenopsi, pengidentifikasi atau token peka huruf besar/kecil yang unik, disertakan denganstart-buildpermintaan. Token berlaku selama 5 menit setelah permintaan. Jika Anda mengulangistart-buildpermintaan dengan token yang sama, tetapi ubah parameter,CodeBuildmengembalikan kesalahan ketidakcocokan parameter.

  4. Jika Anda menjalankanstart-buildperintah dengan--generate-cli-skeletonopsi, data berformat JSON muncul di output. Salin data ke file (misalnya,start-build.json) di lokasi di komputer lokal atau contoh di manaAWS CLIdiinstal. Ubah data yang disalin agar sesuai dengan format berikut, dan simpan hasil Anda:

    { "projectName": "projectName", "sourceVersion": "sourceVersion", "artifactsOverride": { "type": "type", "location": "location", "path": "path", "namespaceType": "namespaceType", "name": "artifactsOverride-name", "packaging": "packaging" }, "buildspecOverride": "buildspecOverride", "cacheOverride": { "location": "cacheOverride-location", "type": "cacheOverride-type" }, "certificateOverride": "certificateOverride", "computeTypeOverride": "computeTypeOverride", "environmentTypeOverride": "environmentTypeOverride", "environmentVariablesOverride": { "name": "environmentVariablesOverride-name", "value": "environmentVariablesValue", "type": "environmentVariablesOverride-type" }, "gitCloneDepthOverride": "gitCloneDepthOverride", "imageOverride": "imageOverride", "idempotencyToken": "idempotencyToken", "insecureSslOverride": "insecureSslOverride", "privilegedModeOverride": "privilegedModeOverride", "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride", "reportBuildStatusOverride": "reportBuildStatusOverride", "timeoutInMinutesOverride": "timeoutInMinutesOverride", "sourceAuthOverride": "sourceAuthOverride", "sourceLocationOverride": "sourceLocationOverride", "serviceRoleOverride": "serviceRoleOverride", "sourceTypeOverride": "sourceTypeOverride" }

    Ganti placeholder berikut:

    • ProjectName: String yang dibutuhkan. Nama proyek build yang akan digunakan untuk build ini.

    • SourceVersion: String opsional. Versi kode sumber yang akan dibangun, sebagai berikut:

      • Untuk Amazon S3, ID versi yang sesuai dengan versi file ZIP input yang ingin Anda buat. JikaSourceVersiontidak ditentukan, maka versi terbaru digunakan.

      • UntukCodeCommit, ID komit yang sesuai dengan versi kode sumber yang ingin Anda buat. JikaSourceVersiontidak ditentukan, ID komit HEAD cabang default digunakan. (Anda tidak dapat menentukan nama tag untukSourceVersion, tetapi Anda dapat menentukan ID komit tag.)

      • UntukGitHub, ID komit, ID permintaan tarik, nama cabang, atau nama tag yang sesuai dengan versi kode sumber yang ingin Anda buat. Jika ID permintaan tarik ditentukan, ia harus menggunakan format pr/pull-request-ID (misalnya pr/25). Jika nama cabang ditentukan, ID melakukan HEAD cabang digunakan. JikaSourceVersiontidak ditentukan, ID komit HEAD cabang default digunakan.

      • Untuk Bitbucket, ID komit, nama cabang, atau nama tag yang sesuai dengan versi kode sumber yang ingin Anda buat. Jika nama cabang ditentukan, ID melakukan HEAD cabang digunakan. JikaSourceVersiontidak ditentukan, ID komit HEAD cabang default digunakan.

    • Placeholder berikut adalah untukartifactsOverride.

      • tipe: Opsional. Jenis artefak keluaran build yang menggantikan build ini adalah yang ditentukan dalam proyek build.

      • lokasi: Opsional. Lokasi artefak keluaran build yang menggantikan build ini adalah lokasi yang ditentukan dalam proyek build.

      • jalan: Opsional. Jalur artefak keluaran build yang menggantikan build ini adalah yang ditentukan dalam proyek build.

      • Namespacetype: Opsional. Jenis jalur artefak keluaran build yang menggantikan build ini adalah yang ditentukan dalam proyek build.

      • nama: Opsional. Nama artefak keluaran build yang menggantikan build ini adalah nama yang ditentukan dalam proyek build.

      • kemasan: Opsional. Jenis kemasan artefak keluaran build yang menggantikan build ini adalah yang ditentukan dalam proyek build.

    • BuildSpecoverride: Opsional. Deklarasi buildspec yang mengganti build ini yang ditentukan dalam proyek build. Jika nilai ini disetel, itu bisa berupa definisi buildspec sebaris, jalur ke file buildspec alternatif relatif terhadap nilai built-inCODEBUILD_SRC_DIRvariabel lingkungan, atau jalur ke bucket S3. Bucket S3 harus samaAWSWilayah sebagai proyek pembangunan. Tentukan file buildspec menggunakan ARN (misalnya,arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml). Jika nilai ini tidak disediakan atau diatur ke string kosong, kode sumber harus berisibuildspec.ymlberkas di direktori root-nya. Untuk informasi selengkapnya, lihat Nama file Buildspec dan lokasi penyimpanan.

    • Placeholder berikut adalah untukcacheOverride.

      • Lokasi Cacheoverride: Opsional. Lokasi aProjectCacheobjek untuk build ini yang mengesampingkanProjectCacheobjek yang ditentukan dalam proyek build.cacheOverridebersifat opsional dan membutuhkanProjectCacheobjek.locationdiperlukan dalamProjectCacheobjek.

      • Jenis Cacheoverride: Opsional. Jenis aProjectCacheobjek untuk build ini yang mengesampingkanProjectCacheobjek yang ditentukan dalam proyek build.cacheOverridebersifat opsional dan membutuhkanProjectCacheobjek.typediperlukan dalamProjectCacheobjek.

    • CertificateOverride: Opsional. Nama sertifikat untuk build ini yang menggantikan sertifikat yang ditentukan dalam proyek build.

    • environmentTypeOverride: Opsional. Jenis kontainer untuk build ini yang mengganti yang ditentukan dalam proyek build. String yang valid saat ini adalahLINUX_CONTAINER.

    • Placeholder berikut adalah untukenvironmentVariablesOverride.

      • environmentVariablesOverride-nama: Opsional. Nama variabel lingkungan dalam proyek build yang nilainya ingin Anda timpa untuk build ini.

      • environmentVariablesOverride-jenis: Opsional. Jenis variabel lingkungan dalam proyek build yang nilainya ingin Anda timpa untuk build ini.

      • environmentVariablesValue: Opsional. Nilai variabel lingkungan yang ditentukan dalam proyek build yang ingin Anda timpa untuk build ini.

    • gitCloneDepthGanti: Opsional. Nilai dariKedalaman klon gitdalam proyek build yang nilainya ingin Anda timpa untuk build ini. Jika jenis sumber Anda adalah Amazon S3, nilai ini tidak didukung.

    • ImageOverride: Opsional. Nama gambar untuk build ini yang menggantikan yang ditentukan dalam proyek build.

    • IdemPotencyToken: Opsional. String yang berfungsi sebagai token untuk menentukan bahwa permintaan build adalah idempoten. Anda dapat memilih string yang 64 karakter atau kurang. Token berlaku selama 5 menit setelah permintaan start-build. Jika Anda mengulangi permintaan start-build dengan token yang sama, tetapi mengubah parameter,CodeBuildmengembalikan kesalahan ketidakcocokan parameter.

    • insecureSslOverride: Boolean opsional yang menentukan apakah akan mengganti setelan TLS tidak aman yang ditentukan dalam proyek build. Pengaturan TLS yang tidak aman menentukan apakah akan mengabaikan peringatan TLS saat menghubungkan ke kode sumber proyek. Penggantian ini hanya berlaku jika sumber buildGitHubServer Perusahaan.

    • privilegedModeOverride: Boolean opsional. Jika disetel ke true, build akan mengganti mode istimewa dalam proyek build.

    • queuedTimeoutInMinutesOverride: Integer opsional yang menentukan jumlah menit build diizinkan untuk antri sebelum waktu habis. Nilai minimumnya adalah lima menit dan nilai maksimumnya adalah 480 menit (delapan jam).

    • reportBuildStatusGanti: Boolean opsional yang menentukan apakah akan mengirim status awal dan penyelesaian build kepada penyedia sumber Anda. Jika Anda menyetel ini dengan penyedia sumber selainGitHub,GitHubServer Perusahaan, atau Bitbucket,invalidInputExceptiondilemparkan.

    • sourceAuthOverride: String opsional. Jenis otorisasi untuk build ini yang mengganti yang ditentukan dalam proyek build. Penggantian ini hanya berlaku jika sumber proyek build adalah Bitbucket atauGitHub.

    • sourceLocationOverride: String opsional. Lokasi yang mengganti lokasi sumber ini akan membangun lokasi sumber untuk lokasi yang ditentukan dalam proyek build.

    • serviceRoleOverride: String opsional. Nama peran layanan untuk build ini yang menggantikan peran yang ditentukan dalam proyek build.

    • sourceTypeOverride: String opsional. Tipe input sumber untuk build ini yang mengganti input sumber yang ditentukan dalam proyek build. String yang valid adalahNO_SOURCE,CODECOMMIT,CODEPIPELINE,GITHUB,S3,BITBUCKET, danGITHUB_ENTERPRISE.

    • timeoutInMinutesGanti: Nomor opsional. Jumlah menit batas waktu build yang menggantikan build ini adalah yang ditentukan dalam proyek build.

    Kami menyarankan Anda menyimpan variabel lingkungan dengan nilai sensitif, sepertiAWSID kunci akses, sebuahAWSkunci akses rahasia, atau kata sandi sebagai parameter di Amazon EC2 Systems Manager Parameter Store. CodeBuilddapat menggunakan parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store hanya jika nama parameter itu dimulai dengan/CodeBuild/(Sebagai contoh,/CodeBuild/dockerLoginPassword). Anda dapat menggunakanCodeBuildkonsol untuk membuat parameter di Amazon EC2 Systems Manager. PilihBuat parameter, dan kemudian ikuti instruksinya. (Dalam kotak dialog itu, untukKunci KMS, Anda dapat secara opsional menentukan ARN dari sebuahAWS KMSkunci di akun Anda. Amazon EC2 Systems Manager menggunakan kunci ini untuk mengenkripsi nilai parameter selama penyimpanan dan mendekripsi selama pengambilan.) Jika Anda menggunakanCodeBuildkonsol untuk membuat parameter, konsol memulai parameter dengan/CodeBuild/seperti yang sedang disimpan. Namun, jika Anda menggunakan konsol Amazon EC2 Systems Manager Parameter Store untuk membuat parameter, Anda harus memulai nama parameter dengan/CodeBuild/, dan Anda harus mengaturJeniskepadaString Aman. Untuk informasi lebih lanjut, lihatAWS Systems Managerpenyimpanan parameterdanWalkthrough: Buat dan uji parameter String (konsol)diPanduan Pengguna Manajer Sistem Amazon EC2.

    Jika project build Anda mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store, peran layanan project build harus mengizinkanssm:GetParameterstindakan. Jika Anda memilihBuat peran layanan baru di akun Andasebelumnya, makaCodeBuildmenyertakan tindakan ini dalam peran layanan default untuk proyek build Anda secara otomatis. Namun, jika Anda memilihPilih peran layanan yang ada dari akun Anda, maka Anda harus menyertakan tindakan ini dalam peran layanan Anda secara terpisah.

    Variabel lingkungan yang Anda tetapkan menggantikan variabel lingkungan yang ada. Misalnya, jika image Docker sudah berisi variabel lingkungan bernamaMY_VARdengan nilaimy_value, dan Anda menetapkan variabel lingkungan bernamaMY_VARdengan nilaiother_value, makamy_valuedigantikan olehother_value. Demikian pula, jika image Docker sudah berisi variabel lingkungan bernamaPATHdengan nilai/usr/local/sbin:/usr/local/bin, dan Anda menetapkan variabel lingkungan bernamaPATHdengan nilai$PATH:/usr/share/ant/bin, maka/usr/local/sbin:/usr/local/bindigantikan oleh nilai literal$PATH:/usr/share/ant/bin.

    Jangan mengatur variabel lingkungan apa pun dengan nama yang dimulai denganCODEBUILD_. Awalan ini dicadangkan untuk penggunaan internal .

    Jika variabel lingkungan dengan nama yang sama didefinisikan di beberapa tempat, nilai variabel lingkungan ditentukan sebagai berikut:

    • Nilai dalam panggilan operasi start build lebih diutamakan.

    • Nilai dalam definisi proyek build akan diutamakan berikutnya.

    • Nilai dalam deklarasi file buildspec diutamakan paling rendah.

    Untuk informasi tentang nilai valid untuk placeholder ini, lihatBuat proyek build (AWS CLI). Untuk daftar setelan terbaru untuk proyek build, lihatLihat detail proyek build.

  5. Beralih ke direktori yang berisi file yang baru saja Anda simpan, dan jalankanstart-buildperintah lagi.

    aws codebuild start-build --cli-input-json file://start-build.json
  6. Jika berhasil, data serupa dengan yang dijelaskan dalamUntuk menjalankan buildprosedur muncul di output.

Untuk bekerja dengan informasi terperinci tentang build ini, catatidnilai dalam output, dan kemudian lihatLihat detail build (AWS CLI).