Membangun dan mengirim image Docker dengan Cloud Build

Pelajari cara mulai menggunakan Cloud Build dengan membangun image Docker dan mengirim image ke Artifact Registry. Artifact Registry menyediakan satu lokasi untuk mengelola paket pribadi dan image container Docker.

Pertama-tama, Anda akan mem-build image menggunakan Dockerfile, yang merupakan file konfigurasi Docker, lalu membangun image yang sama menggunakan file konfigurasi Cloud Build.


Untuk mengikuti panduan langkah demi langkah tugas ini langsung di Cloud Shell Editor, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Aktifkan API Cloud Build and Artifact Registry.

    Mengaktifkan API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Aktifkan API Cloud Build and Artifact Registry.

    Mengaktifkan API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Menyiapkan file sumber untuk di-build

Anda membutuhkan beberapa contoh kode sumber untuk dikemas ke dalam image container. Di bagian ini, Anda akan membuat skrip shell sederhana dan Dockerfile. Dockerfile adalah dokumen teks yang berisi petunjuk bagi Docker untuk membangun image.

  1. Buka jendela terminal.

  2. Buat direktori baru bernama quickstart-docker lalu bukalah:

    mkdir quickstart-docker
    cd quickstart-docker
    
  3. Buat file bernama quickstart.sh dengan konten berikut:

    echo "Hello, world! The time is $(date)."
  4. Buat file bernama Dockerfile dengan konten berikut:

    FROM alpine
    COPY quickstart.sh /
    CMD ["/quickstart.sh"]
  5. Di jendela terminal, jalankan perintah berikut agar quickstart.sh dapat dieksekusi:

    chmod +x quickstart.sh
    

Membuat repositori Docker di Artifact Registry

  1. Buat repositori Docker baru bernama quickstart-docker-repo di lokasi us-west2 dengan deskripsi "Repositori Docker":

    gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \
        --location=us-west2 --description="Docker repository"
    
  2. Pastikan repositori Anda telah dibuat:

    gcloud artifacts repositories list
    

    Anda akan melihat quickstart-docker-repo dalam daftar repositori yang ditampilkan.

Membangun image menggunakan Dockerfile

Dengan Cloud Build, Anda dapat membangun image Docker menggunakan Dockerfile. Anda tidak memerlukan file konfigurasi Cloud Build terpisah.

Untuk mem-build menggunakan Dockerfile:

  1. Dapatkan ID project Google Cloud Anda dengan menjalankan perintah berikut:

    gcloud config get-value project
    
  2. Jalankan perintah berikut dari direktori yang berisi quickstart.sh dan Dockerfile:

    gcloud builds submit --region=us-west2 --tag us-west2-docker.pkg.dev/project-id/quickstart-docker-repo/quickstart-image:tag1
    

Setelah build selesai, Anda akan melihat output seperti berikut:

DONE
------------------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION  SOURCE   IMAGES     STATUS
545cb89c-f7a4-4652-8f63-579ac974be2e  2020-11-05T18:16:04+00:00  16S       gs://gcb-docs-project_cloudbuild/source/1604600163.528729-b70741b0f2d0449d8635aa22893258fe.tgz  us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1  SUCCESS

Anda baru saja membangun image Docker bernama quickstart-image menggunakan Dockerfile dan mengirimkan image tersebut ke Artifact Registry.

Membangun image menggunakan file konfigurasi build

Di bagian ini, Anda akan menggunakan file konfigurasi Cloud Build untuk membangun image Docker yang sama seperti di atas. File konfigurasi build menginstruksikan Cloud Build untuk melakukan tugas berdasarkan spesifikasi Anda.

  1. Di direktori yang sama yang berisi quickstart.sh dan Dockerfile, buat file bernama cloudbuild.yaml dengan konten berikut. File ini adalah file konfigurasi build Anda. Pada waktu build, Cloud Build akan otomatis mengganti $PROJECT_ID dengan project ID Anda.

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      script: |
        docker build -t us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1 .
      automapSubstitutions: true
    images:
    - 'us-west2-docker.pkg.dev/$PROJECT_ID/quickstart-docker-repo/quickstart-image:tag1'
  2. Mulai build dengan menjalankan perintah berikut:

    gcloud builds submit --region=us-west2 --config cloudbuild.yaml
    

Setelah build selesai, Anda akan melihat output yang mirip dengan berikut ini:

DONE
------------------------------------------------------------------------------------------------------------------------------------
ID                                    CREATE_TIME                DURATION  SOURCE          IMAGES          STATUS
046ddd31-3670-4771-9336-8919e7098b11  2020-11-05T18:24:02+00:00  15S       gs://gcb-docs-project_cloudbuild/source/1604600641.576884-8153be22c94d438aa86c78abf11403eb.tgz  us-west2-docker.pkg.dev/gcb-docs-project/quickstart-docker-repo/quickstart-image:tag1  SUCCESS

Anda baru saja mem-build quickstart-image menggunakan file konfigurasi build dan mengirim image ke Artifact Registry.

Lihat detail build

  1. Buka halaman Cloud Build di Konsol Google Cloud.

    Buka halaman Cloud Build

  2. Pilih project Anda lalu klik Buka.

    Anda akan melihat halaman Build history:

    Screenshot halaman histori build

  3. Di menu drop-down Region, pilih us-west2 untuk melihat build di region tersebut.

  4. Klik build tertentu.

    Anda akan melihat halaman Detail build.

  5. Untuk melihat artefak build, pada bagian Build Summary, klik Build Artifacts.

    Anda akan melihat output mirip seperti berikut ini:

    Screenshot artefak build

    Anda dapat mendownload log build dan melihat detail image di Artifact Registry dari halaman ini.

Pembersihan

Agar akun Google Cloud Anda tidak dikenakan biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Buka halaman Artifact Registry di Konsol Google Cloud.

    Buka halaman Artifact Registry

  2. Pilih project Anda lalu klik Buka.

  3. Pilih quickstart-docker-repo.

  4. Klik Delete.

Anda sekarang telah menghapus repositori yang Anda buat sebagai bagian dari panduan memulai ini.

Langkah selanjutnya