Contoh server build image Docker untuk CodeBuild - AWS CodeBuild

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

Contoh server build image Docker untuk CodeBuild

Contoh berikut membongkar build Docker Anda ke server build image terkelola. Anda dapat menyesuaikan sampel ini untuk menyediakan server build image Docker khusus dan terkelola dalam konfigurasi CodeBuild proyek Anda. Perhatikan bahwa instance yang disediakan aktif saat build dijalankan secara aktif untuk proyek, dan instance dihentikan saat build tidak berjalan. Instans yang disediakan disimpan hingga satu bulan sebelum didaur ulang. Untuk informasi selengkapnya, lihat Kemampuan Server CodeBuild Docker.

penting

Menjalankan sampel ini dapat mengakibatkan biaya ke AWS akun Anda. Ini termasuk kemungkinan biaya untuk CodeBuild dan untuk AWS sumber daya dan tindakan yang terkait dengan Amazon S3, AWS KMS, dan CloudWatch Log. Untuk informasi selengkapnya, lihat CodeBuild harga, harga Amazon S3, AWS Key Management Service harga, dan harga Amazon CloudWatch.

Konfigurasikan server Docker

Gunakan prosedur berikut untuk menyediakan lingkungan komputasi khusus untuk CodeBuild proyek yang mengelola beban kerja Docker dan menyimpan lapisan gambar Docker.

Untuk mengkonfigurasi server Docker
  1. Buat file seperti yang dijelaskan di Berkas bagian Struktur direktori dan topik ini, lalu unggah ke bucket input S3 atau repositori AWS CodeCommit GitHub, atau Bitbucket.

    penting

    Jangan mengunggah(root directory name), hanya file di dalamnya(root directory name).

    Jika Anda menggunakan bucket input S3, pastikan untuk membuat file ZIP yang berisi file, lalu unggah ke bucket input. Jangan tambahkan (root directory name) ke file ZIP, hanya file di dalamnya(root directory name).

  2. Buat proyek build, jalankan build, dan lihat informasi build terkait:

    1. Di bagian Lingkungan konsol, pilih Konfigurasi tambahan, navigasikan ke konfigurasi server Docker, lalu pilih Aktifkan server docker untuk proyek ini. Anda kemudian dapat memilih jenis komputasi server Docker dan menyediakan kredensi Registry.

    2. Jika Anda menggunakan AWS CLI untuk membuat proyek build, input berformat JSON ke create-project perintah mungkin terlihat mirip dengan ini. (Ganti placeholder dengan nilai Anda sendiri.)

      { "name": "sample-docker-custom-image-project", "source": { "type": "S3", "location": "codebuild-region-ID-account-ID-input-bucket/DockerServerSample.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/amazonlinux-x86_64-standard:5.0", "computeType": "BUILD_GENERAL1_LARGE", "dockerServer": [ { "computeType": "BUILD_GENERAL1_LARGE", "securityGroupIds": [ "security-groups-ID" ] } ] }, "serviceRole": "arn:aws:iam::account-ID:role/role-name" }
      catatan

      Grup keamanan yang dikonfigurasi untuk server Docker harus mengizinkan lalu lintas jaringan masuk dari VPC yang dikonfigurasi dalam proyek. Mereka harus memungkinkan masuknya pada port 9876.

  3. Untuk melihat hasil build, lihat di log build untuk stringHello, World!. Untuk informasi selengkapnya, lihat Lihat detail build.

Struktur direktori

Sampel ini mengasumsikan struktur direktori ini.

(root directory name) ├── buildspec.yml └── Dockerfile

Berkas

Gambar dasar dari sistem operasi yang digunakan dalam sampel ini adalah Ubuntu. Sampel menggunakan file-file ini.

buildspec.yml(dalam(root directory name))

version: 0.2 phases: build: commands: - docker buildx build . - docker run helloworld echo "Hello, World!"

Dockerfile(dalam(root directory name))

FROM public.ecr.aws/amazonlinux/amazonlinux:latest RUN echo "Hello World"