Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat proyek build (konsol)
Buka AWS CodeBuild konsol di https://console.aws.amazon.com/codesuite/codebuild/home
Jika halaman CodeBuild informasi ditampilkan, pilih Buat proyek build. Jika tidak, pada panel navigasi, perluas Build, pilih Build projects, lalu pilih Create build project.
Pilih Buat proyek build.
Isi bagian berikut. Setelah selesai, pilih Buat proyek build di bagian bawah halaman.
Konfigurasi proyek
- Nama proyek
-
Masukkan nama untuk proyek build ini. Membangun nama proyek harus unik di setiap AWS akun.
- Deskripsi
-
Masukkan deskripsi opsional proyek build untuk membantu pengguna lain memahami untuk apa proyek ini digunakan.
- Membangun lencana
-
(Opsional) Pilih Aktifkan lencana build untuk membuat status build proyek Anda terlihat dan dapat disematkan. Untuk informasi selengkapnya, lihat Membangun sampel lencana.
catatan
Build badge tidak berlaku jika penyedia sumber Anda adalah Amazon S3.
- Aktifkan batas build bersamaan
-
(Opsional) Jika Anda ingin membatasi jumlah build bersamaan untuk proyek ini, lakukan langkah-langkah berikut:
-
Pilih Batasi jumlah build bersamaan yang dapat dimulai proyek ini.
-
Dalam batas build bersamaan, masukkan jumlah maksimum build bersamaan yang diizinkan untuk project ini. Batas ini tidak boleh lebih besar dari batas build bersamaan yang ditetapkan untuk akun. Jika Anda mencoba memasukkan angka yang lebih besar dari batas akun, pesan kesalahan akan ditampilkan.
Pembuatan baru hanya dimulai jika jumlah pembuatan saat ini kurang dari atau sama dengan batas ini. Jika jumlah pembuatan saat ini memenuhi batas ini, pembuatan baru ditutup dan tidak dijalankan.
-
- Informasi tambahan
-
(Opsional) Untuk Tag, masukkan nama dan nilai tag apa pun yang Anda inginkan untuk digunakan oleh AWS layanan pendukung. Gunakan Tambah baris untuk menambahkan tag. Anda dapat menambahkan hingga 50 tanda.
Sumber
- Penyedia sumber
-
Pilih jenis penyedia kode sumber. Gunakan daftar berikut untuk membuat pilihan yang sesuai untuk penyedia sumber Anda:
catatan
CodeBuild tidak mendukung Bitbucket Server.
Environment
- Model penyediaan
-
Lakukan salah satu hal berikut ini:
-
Untuk menggunakan armada sesuai permintaan yang dikelola oleh AWS CodeBuild, pilih On-Demand. Dengan armada sesuai permintaan, CodeBuild menyediakan komputasi untuk build Anda. Mesin-mesin dihancurkan saat build selesai. Armada sesuai permintaan dikelola sepenuhnya, dan mencakup kemampuan penskalaan otomatis untuk menangani lonjakan permintaan.
-
Untuk menggunakan armada kapasitas cadangan yang dikelola oleh AWS CodeBuild, pilih Kapasitas cadangan, lalu pilih nama Armada. Dengan armada kapasitas cadangan, Anda mengonfigurasi satu set instans khusus untuk lingkungan build Anda. Mesin ini tetap menganggur, siap untuk memproses build atau pengujian segera dan mengurangi durasi build. Dengan armada kapasitas cadangan, mesin Anda selalu berjalan dan akan terus mengeluarkan biaya selama disediakan.
Untuk informasi, lihat Bekerja dengan kapasitas cadangan di AWS CodeBuild.
-
- Citra lingkungan
-
Lakukan salah satu hal berikut ini:
-
Untuk menggunakan image Docker yang dikelola oleh AWS CodeBuild, pilih Managed image, lalu buat pilihan dari Sistem operasi, Runtime, Image, dan versi Image. Buat pilihan dari jenis Lingkungan jika tersedia.
-
Untuk menggunakan gambar Docker lain, pilih Custom image. Untuk jenis Lingkungan, pilih ARM, Linux, GPU Linux, atau Windows. Jika Anda memilih Registri lain, untuk URL registri eksternal, masukkan nama dan tag gambar Docker di Docker Hub, menggunakan format.
Jika Anda memilih Amazon ECR, gunakan repositori Amazon ECR dan gambar Amazon ECR untuk memilih gambar Docker di akun Anda. AWSdocker repository
/docker image name
-
Untuk menggunakan image Docker pribadi, pilih Custom image. Untuk jenis Lingkungan, pilih ARM, Linux, GPU Linux, atau Windows. Untuk registri Gambar, pilih Registri lain, lalu masukkan ARN kredensi untuk gambar Docker pribadi Anda. Kredensialnya harus dibuat oleh Secrets Manager. Untuk informasi lebih lanjut, lihat Apa itu AWS Secrets Manager? di Panduan Pengguna AWS Secrets Manager .
catatan
CodeBuild mengganti
ENTRYPOINT
untuk gambar Docker khusus. -
- Hitung
-
Lakukan salah satu hal berikut ini:
-
Untuk menggunakan komputasi EC2, pilih EC2. Komputasi EC2 menawarkan fleksibilitas yang dioptimalkan selama aksi berjalan.
-
Untuk menggunakan komputasi Lambda, pilih Lambda. Lambda compute menawarkan kecepatan start-up yang dioptimalkan untuk build Anda. Lambda mendukung build yang lebih cepat karena latensi start-up yang lebih rendah. Lambda juga secara otomatis menskalakan, jadi build tidak menunggu dalam antrian untuk dijalankan. Untuk informasi, lihat Bekerja dengan AWS Lambda komputasi di AWS CodeBuild.
-
- Peran layanan
Lakukan salah satu hal berikut ini:
-
Jika Anda tidak memiliki peran CodeBuild layanan, pilih Peran layanan baru. Di Nama peran, masukkan nama untuk peran baru.
-
Jika Anda memiliki peran CodeBuild layanan, pilih Peran layanan yang ada. Di Peran ARN, pilih peran layanan.
catatan
Saat menggunakan konsol untuk membuat proyek build, Anda dapat membuat peran CodeBuild layanan secara bersamaan. Secara default, peran hanya berfungsi dengan proyek build tersebut. Jika Anda menggunakan konsol untuk mengaitkan peran layanan ini dengan proyek build lain, peran akan diperbarui agar berfungsi dengan proyek build lainnya. Peran layanan dapat bekerja dengan hingga 10 proyek pembangunan.
-
- Konfigurasi tambahan
-
- Batas waktu
-
Tentukan nilai, antara 5 menit dan 8 jam, setelah itu CodeBuild menghentikan build jika tidak selesai. Jika jam dan menit dibiarkan kosong, nilai default 60 menit digunakan.
- Diistimewakan
-
(Opsional) Pilih Aktifkan bendera ini jika Anda ingin membuat gambar Docker atau ingin build Anda mendapatkan hak istimewa yang ditingkatkan hanya jika Anda berencana menggunakan proyek build ini untuk membuat gambar Docker. Jika tidak, semua build terkait yang mencoba berinteraksi dengan daemon Docker gagal. Anda juga harus memulai daemon Docker sehingga build Anda dapat berinteraksi dengannya. Salah satu cara untuk melakukannya adalah dengan menginisialisasi daemon Docker di
install
fase spesifikasi build Anda dengan menjalankan perintah build berikut. Jangan jalankan perintah ini jika Anda memilih image lingkungan build yang disediakan oleh CodeBuild dengan dukungan Docker.catatan
Secara default, daemon Docker diaktifkan untuk build non-VPC. Jika Anda ingin menggunakan kontainer Docker untuk build VPC, lihat Runtime Privilege dan Kemampuan Linux di situs web Docker Docs dan
aktifkan mode istimewa. Juga, Windows tidak mendukung mode istimewa. - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
- VPC
Jika Anda CodeBuild ingin bekerja dengan VPC Anda:
-
Untuk VPC, pilih ID VPC yang digunakan. CodeBuild
-
Untuk Subnet VPC, pilih subnet yang menyertakan sumber daya yang digunakan. CodeBuild
-
Untuk grup Keamanan VPC, pilih grup keamanan yang CodeBuild digunakan untuk memungkinkan akses ke sumber daya di VPC.
Untuk informasi selengkapnya, lihat Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud.
-
- Hitung
-
Pilih salah satu opsi yang tersedia.
- Variabel lingkungan
-
Masukkan nama dan nilai, lalu pilih jenis setiap variabel lingkungan untuk build yang akan digunakan.
catatan
CodeBuild menetapkan variabel lingkungan untuk AWS Wilayah Anda secara otomatis. Anda harus menyetel variabel lingkungan berikut jika Anda belum menambahkannya ke buildspec.ymlmu:
-
AWS_ACCOUNT_ID
-
IMAGE_REPO_NAME
-
IMAGE_TAG
Konsol dan AWS CLI pengguna dapat melihat variabel lingkungan. Jika Anda tidak memiliki kekhawatiran tentang visibilitas variabel lingkungan Anda, atur bidang Nama dan Nilai, lalu setel Type ke Plaintext.
Kami menyarankan Anda menyimpan variabel lingkungan dengan nilai sensitif, seperti ID kunci AWS akses, kunci akses AWS rahasia, atau kata sandi sebagai parameter di Amazon EC2 Systems Manager Parameter Store AWS Secrets Manager atau.
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, lalu untuk Type, pilih Parameter. Untuk Nama, masukkan pengenal CodeBuild untuk referensi. Untuk Nilai, masukkan nama parameter seperti yang disimpan di Amazon EC2 Systems Manager Parameter Store. Menggunakan parameter bernama
/CodeBuild/dockerLoginPassword
sebagai contoh, untuk Type, pilih Parameter. Untuk Nama, masukkanLOGIN_PASSWORD
. Untuk Nilai, masukkan/CodeBuild/dockerLoginPassword
.penting
Jika Anda menggunakan Amazon EC2 Systems Manager Parameter Store, sebaiknya Anda menyimpan parameter dengan nama parameter yang dimulai
/CodeBuild/
dengan (misalnya/CodeBuild/dockerLoginPassword
,). Anda dapat menggunakan CodeBuild konsol untuk membuat parameter di Amazon EC2 Systems Manager. Pilih Buat parameter, lalu ikuti instruksi di kotak dialog. (Di kotak dialog itu, untuk kunci KMS, Anda dapat menentukan ARN kunci di AWS KMS akun Anda. Amazon EC2 Systems Manager menggunakan kunci ini untuk mengenkripsi nilai parameter selama penyimpanan dan mendekripsi selama pengambilan.) Jika Anda menggunakan CodeBuild konsol untuk membuat parameter, konsol memulai nama parameter dengan/CodeBuild/
saat sedang disimpan. Untuk informasi selengkapnya, lihat Systems Manager Parameter Store dan Systems Manager Parameter Store Console Walkthrough di Panduan Pengguna Amazon EC2 Systems Manager.Jika project build Anda mengacu pada parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store, peran layanan project build harus mengizinkan tindakan
ssm:GetParameters
tersebut. Jika Anda memilih Peran layanan baru lebih awal, CodeBuild sertakan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Peran layanan yang ada, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.Jika project build Anda merujuk ke parameter yang disimpan di Amazon EC2 Systems Manager Parameter Store dengan nama parameter yang tidak dimulai
/CodeBuild/
, dan Anda memilih Peran layanan baru, Anda harus memperbarui peran layanan tersebut untuk mengizinkan akses ke nama parameter yang tidak dimulai/CodeBuild/
. Ini karena peran layanan itu memungkinkan akses hanya ke nama parameter yang dimulai dengan/CodeBuild/
.Jika Anda memilih Peran layanan baru, peran layanan menyertakan izin untuk mendekripsi semua parameter di bawah
/CodeBuild/
namespace di Amazon EC2 Systems Manager Parameter Store.Variabel lingkungan yang Anda tetapkan menggantikan variabel lingkungan yang ada. Misalnya, jika image Docker sudah berisi variabel lingkungan bernama
MY_VAR
dengan nilaimy_value
, dan Anda menetapkan variabel lingkungan bernamaMY_VAR
dengan nilaiother_value
,my_value
maka diganti denganother_value
. Demikian pula, jika image Docker sudah berisi variabel lingkungan bernamaPATH
dengan nilai/usr/local/sbin:/usr/local/bin
, dan Anda menetapkan variabel lingkungan bernamaPATH
dengan nilai$PATH:/usr/share/ant/bin
,/usr/local/sbin:/usr/local/bin
maka digantikan oleh nilai$PATH:/usr/share/ant/bin
literal.Jangan mengatur variabel lingkungan dengan nama yang dimulai dengan
CODEBUILD_
. Awalan ini dicadangkan untuk penggunaan internal .Jika variabel lingkungan dengan nama yang sama didefinisikan di beberapa tempat, nilainya ditentukan sebagai berikut:
-
Nilai dalam panggilan operasi start build lebih diutamakan.
-
Nilai dalam definisi proyek build akan diutamakan berikutnya.
-
Nilai dalam deklarasi buildspec diutamakan paling rendah.
Jika Anda menggunakan Secrets Manager, untuk Type, pilih Secrets Manager. Untuk Nama, masukkan pengenal CodeBuild untuk referensi. Untuk Nilai, masukkan
reference-key
menggunakan pola
. Untuk informasi, lihat Secrets Manager reference-key in the buildspec file.secret-id
:json-key
:version-stage
:version-id
penting
Jika Anda menggunakan Secrets Manager, kami sarankan Anda menyimpan rahasia dengan nama yang dimulai dengan
/CodeBuild/
(misalnya,/CodeBuild/dockerLoginPassword
). Untuk informasi lebih lanjut, lihat Apa itu AWS Secrets Manager? di Panduan Pengguna AWS Secrets Manager .Jika proyek build Anda mengacu pada rahasia yang disimpan di Secrets Manager, peran layanan proyek build harus mengizinkan
secretsmanager:GetSecretValue
tindakan tersebut. Jika Anda memilih Peran layanan baru lebih awal, CodeBuild sertakan tindakan ini dalam peran layanan default untuk proyek build Anda. Namun, jika Anda memilih Peran layanan yang ada, Anda harus menyertakan tindakan ini ke peran layanan Anda secara terpisah.Jika proyek build mengacu pada rahasia yang disimpan di Secrets Manager dengan nama rahasia yang tidak dimulai
/CodeBuild/
, dan Anda memilih Peran layanan baru, Anda harus memperbarui peran layanan untuk mengizinkan akses ke nama rahasia yang tidak dimulai/CodeBuild/
. Ini karena peran layanan memungkinkan akses hanya ke nama rahasia yang dimulai dengan/CodeBuild/
.Jika Anda memilih Peran layanan baru, peran layanan menyertakan izin untuk mendekripsi semua rahasia di bawah
/CodeBuild/
namespace di Secrets Manager. -
Buildspec
- Membangun spesifikasi
-
Lakukan salah satu hal berikut ini:
-
Jika kode sumber Anda menyertakan file buildspec, pilih Gunakan file buildspec. Secara default, CodeBuild mencari file bernama
buildspec.yml
di direktori root kode sumber. Jika file buildspec Anda menggunakan nama atau lokasi yang berbeda, masukkan jalurnya dari root sumber dalam nama Buildspec (misalnya, atau.buildspec-two.yml
configuration/buildspec.yml
Jika file buildspec ada di bucket S3, file tersebut harus berada di AWS Region yang sama dengan project build Anda. Tentukan file buildspec menggunakan ARN (misalnya,).arn:aws:s3:::
<my-codebuild-sample2>
/buildspec.yml -
Jika kode sumber Anda tidak menyertakan file buildspec, atau jika Anda ingin menjalankan perintah build yang berbeda dari yang ditentukan untuk
build
fase dalambuildspec.yml
file di direktori root kode sumber, pilih Insert build command. Untuk perintah Build, masukkan perintah yang ingin Anda jalankan dalambuild
fase. Untuk beberapa perintah, pisahkan setiap perintah dengan&&
(misalnya,mvn test && mvn package
). Untuk menjalankan perintah di fase lain, atau jika Anda memiliki daftar panjang perintah untukbuild
fase tersebut, tambahkanbuildspec.yml
file ke direktori root kode sumber, tambahkan perintah ke file, lalu pilih Gunakan buildspec.ymldi direktori root kode sumber.
Untuk informasi selengkapnya, lihat Referensi Buildspec.
-
Konfigurasi Batch
Anda dapat menjalankan grup build sebagai satu operasi. Untuk informasi selengkapnya, lihat Batch dibangun di AWS CodeBuild.
- Tentukan konfigurasi batch
-
Pilih untuk mengizinkan pembuatan batch dalam proyek ini.
- Peran layanan Batch
-
Menyediakan peran layanan untuk build batch.
Pilih salah satu cara berikut:
-
Jika Anda tidak memiliki peran layanan batch, pilih Peran layanan baru. Di peran Layanan, masukkan nama untuk peran baru.
-
Jika Anda memiliki peran layanan batch, pilih Peran layanan yang ada. Dalam Peran layanan, pilih peran layanan.
Batch build memperkenalkan peran keamanan baru dalam konfigurasi batch. Peran baru ini diperlukan karena CodeBuild harus dapat memanggil
StartBuild
,StopBuild
, danRetryBuild
tindakan atas nama Anda untuk menjalankan build sebagai bagian dari batch. Pelanggan harus menggunakan peran baru, dan bukan peran yang sama yang mereka gunakan dalam build mereka, karena dua alasan:-
Memberikan peran build
StartBuild
,StopBuild
, danRetryBuild
izin akan memungkinkan satu build untuk memulai lebih banyak build melalui buildspec. -
CodeBuild build batch memberikan batasan yang membatasi jumlah build dan tipe komputasi yang dapat digunakan untuk build dalam batch. Jika peran build memiliki izin ini, ada kemungkinan build itu sendiri dapat melewati batasan ini.
-
- Jenis komputasi yang diizinkan untuk batch
-
Pilih jenis komputasi yang diizinkan untuk batch. Pilih semua yang berlaku.
- Build maksimum yang diizinkan dalam batch
-
Masukkan jumlah maksimum build yang diizinkan dalam batch. Jika batch melebihi batas ini, batch akan gagal.
- Batas waktu Batch
-
Masukkan jumlah waktu maksimum untuk menyelesaikan batch build.
- Gabungkan artefak
-
Pilih Gabungkan semua artefak dari batch ke satu lokasi agar semua artefak dari batch digabungkan menjadi satu lokasi.
- Mode laporan Batch
-
Pilih mode laporan status build yang diinginkan untuk build batch.
catatan
Bidang ini hanya tersedia jika sumber proyek adalah Bitbucket, GitHub, atau GitHub Enterprise, dan Laporkan status build ke penyedia sumber saat build Anda mulai dan selesai dipilih di bawah Sumber.
- Build agregat
-
Pilih agar status untuk semua build dalam batch digabungkan menjadi satu laporan status.
- Membangun individu
-
Pilih agar status build untuk semua build dalam batch dilaporkan secara terpisah.
Artifacts
- Jenis
-
Lakukan salah satu hal berikut ini:
-
Jika Anda tidak ingin membuat artefak keluaran build apa pun, pilih Tidak ada artefak. Anda mungkin ingin melakukan ini jika Anda hanya menjalankan pengujian build atau Anda ingin mendorong image Docker ke repositori Amazon ECR.
-
Untuk menyimpan output build dalam bucket S3, pilih Amazon S3, lalu lakukan hal berikut:
-
Jika Anda ingin menggunakan nama proyek Anda untuk file atau folder ZIP keluaran build, biarkan Nama kosong. Jika tidak, masukkan nama. (Jika Anda ingin mengeluarkan file ZIP, dan Anda ingin file ZIP memiliki ekstensi file, pastikan untuk memasukkannya setelah nama file ZIP.)
-
Pilih Aktifkan versi semantik jika Anda ingin nama yang ditentukan dalam file buildspec untuk mengganti nama apa pun yang ditentukan di konsol. Nama dalam file buildspec dihitung pada waktu pembuatan dan menggunakan bahasa perintah Shell. Misalnya, Anda dapat menambahkan tanggal dan waktu untuk nama artefak Anda sehingga selalu unik. Nama artefak unik mencegah artefak ditimpa. Untuk informasi selengkapnya, lihat Sintaks Buildspec.
-
Untuk nama Bucket, pilih nama bucket keluaran.
-
Jika Anda memilih Insert build perintah sebelumnya dalam prosedur ini, maka untuk file Output, masukkan lokasi file dari build yang ingin Anda masukkan ke dalam file atau folder ZIP keluaran build. Untuk beberapa lokasi, pisahkan setiap lokasi dengan koma (misalnya,
appspec.yml, target/my-app.jar
). Untuk informasi lebih lanjut, lihat deskripsifiles
diSintaks Buildspec. -
Jika Anda tidak ingin artefak build Anda dienkripsi, pilih Hapus enkripsi artefak.
-
Untuk setiap set artefak sekunder yang Anda inginkan:
-
Untuk pengenal Artifact, masukkan nilai yang kurang dari 128 karakter dan hanya berisi karakter alfanumerik dan garis bawah.
-
Pilih Tambahkan artefak.
-
Ikuti langkah-langkah sebelumnya untuk mengonfigurasi artefak sekunder Anda.
-
Pilih Simpan artefak.
-
- Konfigurasi tambahan
-
- Kunci enkripsi
-
(Opsional) Lakukan salah satu langkah berikut:
-
Untuk menggunakan Amazon S3 di akun Anda untuk mengenkripsi artefak keluaran build, biarkan kunci Enkripsi kosong. Kunci yang dikelola AWS Ini adalah opsi default.
-
Untuk menggunakan kunci yang dikelola pelanggan untuk mengenkripsi artefak keluaran build, di kunci Enkripsi, masukkan ARN kunci KMS. Gunakan format
arn:aws:kms:
.region-ID
:account-ID
:key/key-ID
-
- Jenis cache
-
Untuk jenis Cache, pilih salah satu dari berikut ini:
-
Jika Anda tidak ingin menggunakan cache, pilih Tidak ada cache.
-
Jika Anda ingin menggunakan cache Amazon S3, pilih Amazon S3, lalu lakukan hal berikut:
-
Untuk Bucket, pilih nama bucket S3 tempat cache disimpan.
-
(Opsional) Untuk awalan jalur Cache, masukkan awalan jalur Amazon S3. Nilai awalan jalur Cache mirip dengan nama direktori. Itu memungkinkan Anda untuk menyimpan cache di bawah direktori yang sama dalam ember.
penting
Jangan menambahkan garis miring (/) ke ujung awalan jalur.
-
-
Jika Anda ingin menggunakan cache lokal, pilih Lokal, lalu pilih satu atau beberapa mode cache lokal.
catatan
Mode cache lapisan Docker hanya tersedia untuk Linux. Jika Anda memilihnya, proyek Anda harus berjalan dalam mode istimewa.
Menggunakan cache menghemat banyak waktu pembuatan karena bagian lingkungan build yang dapat digunakan kembali disimpan dalam cache dan digunakan di seluruh build. Untuk informasi tentang menentukan cache dalam file buildspec, lihat. Sintaks Buildspec Untuk informasi selengkapnya tentang caching, lihatMembangun caching di AWS CodeBuild.
-
Log
Pilih log yang ingin Anda buat. Anda dapat membuat CloudWatch Log Amazon, log Amazon S3, atau keduanya.
- CloudWatch
-
Jika Anda ingin CloudWatch log Amazon Log:
- CloudWatch log
-
Pilih CloudWatch log.
- Nama grup
-
Masukkan nama grup CloudWatch log Amazon Logs Anda.
- Nama aliran
-
Masukkan nama aliran CloudWatch log Amazon Logs Anda.
- S3
-
Jika Anda ingin log Amazon S3:
- Log S3
-
Pilih log S3.
- Bucket
-
Pilih nama bucket S3 untuk log Anda.
- Awalan jalur
-
Masukkan awalan untuk log Anda.
- Nonaktifkan enkripsi log S3
-
Pilih jika Anda tidak ingin log S3 Anda dienkripsi.