Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat menghemat waktu ketika proyek Anda dibangun dengan menggunakan cache. Cache dapat menyimpan bagian yang dapat digunakan kembali dari lingkungan build Anda dan menggunakannya di beberapa build. Proyek build Anda dapat menggunakan salah satu dari dua jenis caching: Amazon S3 atau lokal. Jika Anda menggunakan cache lokal, Anda harus memilih satu atau lebih dari tiga mode cache: cache sumber, cache lapisan Docker, dan cache khusus.
catatan
Mode cache lapisan Docker hanya tersedia untuk lingkungan Linux. Jika Anda memilih mode ini, Anda harus menjalankan build Anda dalam mode istimewa. CodeBuild proyek yang diberikan mode istimewa memberikan akses kontainernya ke semua perangkat. Untuk informasi selengkapnya, lihat hak istimewa Runtime dan kemampuan Linux
Caching Amazon S3
Caching Amazon S3 menyimpan cache di bucket Amazon S3 yang tersedia di beberapa host build. Ini adalah pilihan yang baik untuk artefak bangunan berukuran kecil hingga menengah yang lebih mahal untuk dibangun daripada diunduh. Ini bukan pilihan terbaik untuk artefak build besar karena dapat memakan waktu lama untuk ditransfer melalui jaringan Anda, yang dapat memengaruhi kinerja build. Ini juga bukan pilihan terbaik jika Anda menggunakan lapisan Docker.
Caching lokal
Caching lokal menyimpan cache secara lokal pada host build yang hanya tersedia untuk host build tersebut. Ini adalah opsi yang baik untuk artefak build menengah hingga besar karena cache segera tersedia di host build. Ini bukan pilihan terbaik jika build Anda jarang. Ini berarti bahwa kinerja build tidak terpengaruh oleh waktu transfer jaringan.
Jika Anda memilih caching lokal, Anda harus memilih satu atau beberapa mode cache berikut:
-
Mode cache sumber menyimpan metadata Git untuk sumber primer dan sekunder. Setelah cache dibuat, pembangunan berikutnya menarik perubahan antar pelaksanaan saja. Mode ini merupakan pilihan yang baik untuk proyek dengan direktori yang bersih dan berfungsi serta sumber yang merupakan repositori Git besar. Jika Anda memilih opsi ini dan proyek Anda tidak menggunakan repositori Git (AWS CodeCommit,, Server GitHub Perusahaan GitHub, atau Bitbucket), opsi tersebut diabaikan.
-
Mode cache lapisan Docker menyimpan lapisan Docker yang ada. Mode ini merupakan pilihan yang baik untuk proyek yang membangun atau menarik gambar Docker yang besar. Ia dapat mencegah masalah performa yang disebabkan oleh penarikan keluar gambar Docker yang besar dari jaringan.
catatan
-
Anda dapat menggunakan cache lapisan Docker di lingkungan Linux saja.
-
Bendera
privileged
harus diatur agar proyek Anda memiliki izin Docker yang diperlukan.Secara default, daemon Docker diaktifkan untuk non-build. VPC Jika Anda ingin menggunakan kontainer Docker untuk VPC build, lihat Runtime Privilege dan Kemampuan Linux
di situs web Docker Docs dan aktifkan mode istimewa. Juga, Windows tidak mendukung mode istimewa. -
Anda harus mempertimbangkan implikasi keamanan sebelum Anda menggunakan cache lapisan Docker.
-
-
Mode cache kustom menyimpan direktori yang Anda tentukan dalam file buildspec. Mode ini adalah pilihan yang baik jika skenario build Anda tidak cocok dengan salah satu dari dua mode cache lokal lainnya. Jika Anda menggunakan cache kustom:
-
Hanya direktori yang dapat ditentukan untuk caching. Anda tidak dapat menentukan file individu.
-
Symlink digunakan untuk mereferensikan direktori cache.
-
Direktori yang di-cache ditautkan ke pembangunan Anda sebelum mengunduh sumber proyeknya. Item yang di-cache mengganti item sumber jika memiliki nama yang sama. Direktori ditentukan menggunakan jalur cache di file buildspec. Untuk informasi selengkapnya, lihat Sintaks Buildspec.
-
Hindari nama direktori yang sama di sumber dan di cache. Direktori cache lokal dapat mengganti, atau menghapus konten, direktori di repositori sumber yang memiliki nama yang sama.
-
catatan
Caching lokal tidak didukung dengan jenis LINUX_GPU_CONTAINER
lingkungan dan tipe BUILD_GENERAL1_2XLARGE
komputasi. Untuk informasi selengkapnya, lihat Bangun mode dan tipe komputasi lingkungan.
catatan
Caching lokal tidak didukung saat Anda mengonfigurasi CodeBuild untuk bekerja dengan VPC file. Untuk informasi lebih lanjut tentang menggunakan VPCs dengan CodeBuild, lihatGunakan AWS CodeBuild dengan Amazon Virtual Private Cloud.
Tentukan cache lokal
Anda dapat menggunakan AWS CLI, konsol,SDK, atau AWS CloudFormation untuk menentukan cache lokal. Untuk informasi selengkapnya tentang caching lokal, lihatCaching lokal.
Topik
Tentukan caching lokal () CLI
Anda dapat menggunakan --cache
parameter di AWS CLI untuk menentukan masing-masing dari tiga jenis cache lokal.
-
Untuk menentukan cache sumber:
--cache type=LOCAL,mode=[LOCAL_SOURCE_CACHE]
-
Untuk menentukan cache layer Docker:
--cache type=LOCAL,mode=[LOCAL_DOCKER_LAYER_CACHE]
-
Untuk menentukan cache kustom:
--cache type=LOCAL,mode=[LOCAL_CUSTOM_CACHE]
Untuk informasi selengkapnya, lihat Buat proyek build (AWS CLI).
Tentukan caching lokal (konsol)
Anda menentukan cache di bagian Artefak konsol. Untuk jenis Cache, pilih Amazon S3 atau Lokal. Jika Anda memilih Lokal, pilih satu atau lebih dari tiga opsi cache lokal.
![Tentukan cache lokal dengan memilih satu atau lebih dari tiga opsi cache lokal.](images/local-cache.png)
Untuk informasi selengkapnya, lihat Buat proyek build (konsol).
Tentukan caching lokal ()AWS CloudFormation
Jika Anda gunakan AWS CloudFormation untuk menentukan cache lokal, pada Cache
properti, untukType
, tentukanLOCAL
. Contoh AWS CloudFormation kode YAML -format berikut menentukan ketiga jenis cache lokal. Anda dapat menentukan kombinasi jenis apa pun. Jika Anda menggunakan cache layer Docker, di bawahEnvironment
, Anda harus mengatur PrivilegedMode
ke true
dan Type
keLINUX_CONTAINER
.
CodeBuildProject:
Type: AWS::CodeBuild::Project
Properties:
Name: MyProject
ServiceRole: <service-role>
Artifacts:
Type: S3
Location: <bucket-name>
Name: myArtifact
EncryptionDisabled: true
OverrideArtifactName: true
Environment:
Type: LINUX_CONTAINER
ComputeType: BUILD_GENERAL1_SMALL
Image: aws/codebuild/standard:5.0
Certificate: <bucket/cert.zip>
# PrivilegedMode must be true if you specify LOCAL_DOCKER_LAYER_CACHE
PrivilegedMode: true
Source:
Type: GITHUB
Location: <github-location>
InsecureSsl: true
GitCloneDepth: 1
ReportBuildStatus: false
TimeoutInMinutes: 10
Cache:
Type: LOCAL
Modes: # You can specify one or more cache mode,
- LOCAL_CUSTOM_CACHE
- LOCAL_DOCKER_LAYER_CACHE
- LOCAL_SOURCE_CACHE
catatan
Secara default, daemon Docker diaktifkan untuk non-build. VPC Jika Anda ingin menggunakan kontainer Docker untuk VPC build, lihat Runtime Privilege dan Kemampuan Linux
Untuk informasi selengkapnya, lihat Buat proyek build (AWS CloudFormation).