arrow_back

Membangun Pipeline DevOps

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Membangun Pipeline DevOps

Lab 2 jam universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

Ringkasan

Di lab ini, Anda akan membangun pipeline continuous integration menggunakan GitHub, Cloud Build, pemicu Build, dan Artifact Registry.

Arsitektur pipeline continuous integration

Tujuan

Di lab ini, Anda akan mempelajari cara melakukan tugas-tugas berikut:

  • Membuat repositori Git di GitHub
  • Membuat aplikasi Python sederhana
  • Menguji aplikasi web Anda di Cloud Shell
  • Menentukan build Docker
  • Mengelola image Docker dengan Cloud Build dan Artifact Registry
  • Mengotomatiskan build dengan pemicu
  • Menguji perubahan build Anda

Prasyarat

Jika belum memiliki akun GitHub, Anda harus membuat akun GitHub

Rekomendasi

  1. Gunakan akun GitHub yang ada jika Anda memilikinya. GitHub cenderung akan memblokir akun baru sebagai spam.
  2. Konfigurasikan autentikasi 2 langkah di akun GitHub Anda untuk mengurangi kemungkinan akun Anda ditandai sebagai spam. R

Menyiapkan lingkungan lab Anda

Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.

  1. Login ke Qwiklabs menggunakan jendela samaran.

  2. Perhatikan waktu akses lab (misalnya, 1:15:00), dan pastikan Anda dapat menyelesaikannya dalam waktu tersebut.
    Tidak ada fitur jeda. Bila perlu, Anda dapat memulai ulang lab, tetapi Anda harus memulai dari awal.

  3. Jika sudah siap, klik Start lab.

  4. Catat kredensial lab (Nama pengguna dan Sandi) Anda. Anda akan menggunakannya untuk login ke Google Cloud Console.

  5. Klik Open Google Console.

  6. Klik Use another account, lalu salin/tempel kredensial lab ini ke perintah yang muncul.
    Jika menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.

  7. Setujui ketentuan dan lewati halaman resource pemulihan.

Tugas 1. Membuat repositori Git

Pertama, Anda akan membuat repositori Git menggunakan GitHub. Repositori Git akan digunakan untuk menyimpan kode sumber Anda. Terakhir, Anda akan membuat pemicu build yang memulai pipeline continuous integration saat kode dikirim ke pemicu build tersebut.

  1. Klik Konsol Cloud, lalu klik Activate Cloud Shell (Ikon Cloud Shell) di tab baru.
  2. Jika diminta, klik Continue.
  3. Jalankan perintah berikut untuk menginstal GitHub CLI:
curl -sS https://webi.sh/gh | sh
  1. Login ke GitHub CLI
gh auth login

Tekan Enter untuk menerima opsi default. Baca petunjuk di alat CLI untuk login melalui situs GitHub.

  1. Pastikan Anda login:
gh api user -q ".login"

Jika Anda berhasil login, nama pengguna GitHub Anda akan ditampilkan.

  1. Buat variabel GITHUB_USERNAME
GITHUB_USERNAME=$(gh api user -q ".login")
  1. Pastikan Anda telah membuat variabel lingkungan:
echo ${GITHUB_USERNAME}

Jika Anda berhasil membuat variabel, tindakan ini akan menampilkan nama pengguna GitHub Anda.

  1. Tetapkan kredensial git global Anda:
git config --global user.name "${GITHUB_USERNAME}" git config --global user.email "${USER_EMAIL}"

Perintah ini akan membuat pengguna git untuk terminal Cloud Shell Anda.

  1. Buat repositori GitHub kosong bernama devops-repo:
gh repo create devops-repo --private
  1. Masukkan perintah berikut di Cloud Shell untuk membuat folder bernama gcp-course:
mkdir gcp-course
  1. Ubah ke folder yang baru saja Anda buat:
cd gcp-course
  1. Sekarang, buat clone repositori kosong yang baru saja Anda buat: Jika diminta, klik Authorize:
gh repo clone devops-repo Catatan: Anda mungkin akan melihat peringatan bahwa Anda telah membuat clone repositori yang kosong. Hal tersebut sesuai dengan yang diharapkan pada tahap ini.
  1. Perintah sebelumnya membuat folder kosong bernama devops-repo. Ubah ke folder tersebut:
cd devops-repo

Tugas 2. Membuat aplikasi Python sederhana

Anda perlu mengelola kode sumber tertentu. Jadi, Anda akan membuat aplikasi web Python Flask sederhana. Aplikasi ini hanya sedikit lebih baik dibandingkan aplikasi "Halo Dunia", tetapi sudah cukup baik untuk menguji pipeline yang akan Anda bangun.

  1. Di Cloud Shell, klik Open Editor (Ikon editor) untuk membuka editor kode.
  2. Pilih folder gcp-course > devops-repo di explorer tree di sebelah kiri.
  3. Klik devops-repo.
  4. Klik New File.
  5. Beri nama file ini dengan main.py, lalu tekan Enter.
  6. Tempel kode berikut ke file yang baru Anda buat:
from flask import Flask, render_template, request app = Flask(__name__) @app.route("/") def main(): model = {"title": "Hello DevOps Fans."} return render_template('index.html', model=model) if __name__ == "__main__": app.run(host='0.0.0.0', port=8080, debug=True, threaded=True)
  1. Untuk menyimpan perubahan Anda. Tekan CTRL + S.
  2. Klik folder devops-repo.
  3. Klik New Folder.
  4. Beri nama folder ini dengan templates, lalu tekan Enter.
  5. Klik kanan folder templates dan buat file baru bernama layout.html.
  6. Tambahkan kode berikut dan simpan file seperti yang Anda lakukan sebelumnya:
<!doctype html> <html lang="en"> <head> <title>{{model.title}}</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> </head> <body> <div class="container"> {% block content %}{% endblock %} <footer></footer> </div> </body> </html>
  1. Di folder template tersebut, tambahkan juga file baru bernama index.html.

  2. Tambahkan kode berikut dan simpan file seperti yang Anda lakukan sebelumnya:

{% extends "layout.html" %} {% block content %} <div class="jumbotron"> <div class="container"> <h1>{{model.title}}</h1> </div> </div> {% endblock %}
  1. Di Python, persyaratan aplikasi dikelola menggunakan pip. Sekarang Anda akan menambahkan file yang berisi daftar persyaratan untuk aplikasi ini.

  2. Di folder devops-repo (bukan folder template), buat New File serta tambahkan kode berikut ke file tersebut dan simpan sebagai requirements.txt:

Flask>=2.0.3
  1. Anda sudah memiliki beberapa file yang diperlukan. Simpan file-file tersebut di repositori. Pertama, Anda perlu menambahkan semua file yang telah dibuat ke repositori Git lokal Anda. Klik Open Terminal dan di Cloud Shell, masukkan kode berikut:
cd ~/gcp-course/devops-repo git add --all
  1. Untuk meng-commit perubahan pada repositori, Anda harus mengidentifikasi diri Anda. Masukkan perintah berikut, tetapi dengan informasi Anda (Anda dapat menggunakan alamat Gmail atau alamat email lainnya):
git config --global user.email "anda@example.com" git config --global user.name "Nama Anda"
  1. Sekarang, commit perubahan secara lokal:
git commit -a -m "Initial Commit"
  1. Anda telah meng-commit perubahan secara lokal, tetapi belum memperbarui repositori Git yang Anda buat di Cloud Source Repositories. Masukkan perintah berikut untuk mengirim perubahan ke cloud:
git push origin main
  1. Muat ulang halaman web GitHub. Anda akan melihat file yang baru Anda buat.

Tugas 3. Menentukan build Docker

Langkah pertama untuk menggunakan Docker adalah dengan membuat file bernama Dockerfile. File ini menentukan bagaimana container Docker dibuat. Anda akan melakukannya sekarang.

  1. Klik Open Editor, lalu luaskan folder gcp-course/devops-repo. Setelah folder devops-repo dipilih, klik New File dan beri nama file baru ini dengan Dockerfile.

File Dockerfile digunakan untuk menentukan cara container dibangun.

  1. Di bagian atas file, masukkan kode berikut:
FROM python:3.9

Ini merupakan image dasar. Anda dapat memilih banyak image dasar. Dalam kasus ini, Anda menggunakan image dengan Python yang terinstal di dalamnya.

  1. Masukkan:
WORKDIR /app COPY . .

Baris ini menyalin kode sumber dari folder saat ini ke folder /app di image container.

  1. Masukkan:
RUN pip install gunicorn RUN pip install -r requirements.txt

Kode ini menggunakan pip untuk menginstal persyaratan aplikasi Python ke container. Gunicorn adalah server web Python yang akan digunakan untuk menjalankan aplikasi web.

  1. Masukkan:
ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

Variabel lingkungan menetapkan port tempat aplikasi akan berjalan (dalam kasus ini, 80). Baris terakhir akan menjalankan aplikasi web menggunakan server web gunicorn.

  1. Pastikan file yang selesai terlihat seperti berikut dan simpan:
FROM python:3.9 WORKDIR /app COPY . . RUN pip install gunicorn RUN pip install -r requirements.txt ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

Tugas 4. Mengelola image Docker dengan Cloud Build dan Artifact Registry

Image Docker harus dibangun dan disimpan di lokasi tertentu. Anda akan menggunakan Cloud Build dan Artifact Registry.

  1. Klik Open Terminal untuk kembali ke Cloud Shell. Pastikan Anda berada di folder yang tepat:
cd ~/gcp-course/devops-repo
  1. Variabel lingkungan Cloud Shell DEVSHELL_PROJECT_ID menyimpan project ID Anda saat ini secara otomatis. Project ID diperlukan untuk menyimpan image di Artifact Registry. Masukkan perintah berikut untuk melihat project ID Anda:
echo $DEVSHELL_PROJECT_ID
  1. Masukkan perintah berikut untuk membuat repositori Artifact Registry bernama devops-repo:
gcloud artifacts repositories create devops-repo \ --repository-format=docker \ --location={{{ project_0.default_region | "REGION" }}}
  1. Untuk mengonfigurasi Docker guna melakukan autentikasi ke repositori Docker Artifact Registry, masukkan perintah berikut:
gcloud auth configure-docker {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev
  1. Untuk menggunakan Cloud Build dalam pembuatan image dan menyimpannya di Artifact Registry, ketik perintah berikut:
gcloud builds submit --tag {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-repo/devops-image:v0.1 .

Perhatikan variabel lingkungan di perintah tersebut. Image akan disimpan di Artifact Registry.

  1. Di kolom judul Konsol Google Cloud, ketik Artifact Registry di kolom Search, lalu klik Artifact Registry di hasil penelusuran.

  2. Klik ikon Pin di samping Artifact Registry.

  3. Klik devops-repo.

  4. Klik devops-image. Image Anda akan dicantumkan.

  5. Di kolom judul Konsol Google Cloud, ketik Cloud Build di kolom Search, lalu klik Cloud Build di hasil penelusuran.

  6. Klik ikon Pin di samping Cloud Build.

  7. Build Anda akan tercantum di histori.

Anda sekarang akan mencoba menjalankan image ini dari virtual machine Compute Engine.

  1. Pada Navigation menu, klik Compute Engine > VM Instance.

  2. Klik Create Instance untuk membuat VM.

  3. Di halaman Create an instance, tentukan setelan berikut dan biarkan setelan yang tersisa sebagai default:

Properti Nilai
OS and storage > Container Klik DEPLOY CONTAINER
Container image '-docker.pkg.dev//devops-repo/devops-image:v0.1` and click SELECT
Networking > Firewall Izinkan traffic HTTP
  1. Klik Create.

  2. Setelah VM dimulai, klik alamat IP eksternal VM. Tab browser akan terbuka dan halaman akan menampilkan Hello DevOps Fans.

Catatan: Anda mungkin perlu menunggu beberapa menit setelah VM dibuat agar container Docker dimulai.
  1. Anda akan menyimpan perubahan ke repositori Git Anda. Di Cloud Shell, masukkan kode berikut untuk memastikan Anda berada di folder yang tepat dan tambahkan Dockerfile baru ke Git:
cd ~/gcp-course/devops-repo git add --all
  1. Commit perubahan Anda secara lokal:
git commit -am "Added Docker Support"
  1. Kirim perubahan Anda ke Cloud Source Repositories:
git push origin main

Klik Periksa progres saya untuk memverifikasi tujuan. Mengelola image Docker dengan Cloud Build dan Artifact Registry.

Tugas 5. Mengotomatiskan build dengan pemicu

  1. Di Navigation menu, klik Cloud Build. Halaman Build history akan terbuka, lalu satu atau beberapa build akan ada di histori Anda.

  2. Klik Settings.

  3. Dari dropdown Service account, pilih @.iam.gserviceaccount.com

  4. Aktifkan opsi Set as Preferred Service Account. Tetapkan status layanan Cloud Build ke Enabled.

  5. Buka Triggers di menu navigasi sebelah kiri, lalu klik Create trigger .

  6. Tentukan nilai berikut:

    Name: devops-trigger

    Region:

    Untuk Repository, klik Connect new repository

    • Di panel Connect repository, pilih GitHub (Cloud Build GitHub App), lalu klik Continue.
    • Pilih {nama pengguna github Anda}/devops-repo sebagai Repository, klik OK, lalu pilih {nama pengguna github Anda}/devops-repo (GitHub App).
    • Setujui persyaratan dan ketentuan, lalu klik Connect

    Branch: .*(cabang apa pun)

    Configuration Type: File konfigurasi Cloud Build (yaml atau json)

    Location: Inline

  7. Klik Open Editor dan ganti kode dengan kode yang disebutkan di bawah, lalu klik Done.

steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA', '.'] images: - '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA' options: logging: CLOUD_LOGGING_ONLY
  1. Untuk Service account, pilih akun layanan yang dimulai dengan project-id Anda yang terlihat mirip dengan (@.iam.gserviceaccount.com), lalu klik Create.

  2. Untuk menguji pemicu, klik Run, lalu klik Run trigger.

  3. Klik link History dan akan ada build yang berjalan. Tunggu hingga build selesai, lalu klik link yang dihasilkan untuk melihat detailnya.

  4. Scroll ke bawah dan lihat log. Output build yang ada di sini merupakan hasil yang akan dilihat jika Anda menjalankannya di mesin.

  5. Kembali ke layanan Artifact Registry. Anda akan melihat image baru di folder devops-repo > devops-image.

  6. Kembali ke Cloud Shell Code Editor. Temukan file main.py di folder gcp-course/devops-repo.

  7. Di fungsi main(), ubah properti judul menjadi "Hello Build Trigger." seperti yang ditunjukkan di bawah:

@app.route("/") def main(): model = {"title": "Hello Build Trigger."} return render_template("index.html", model=model)
  1. Commit perubahan dengan perintah berikut:
cd ~/gcp-course/devops-repo git commit -a -m "Testing Build Trigger"
  1. Masukkan kode berikut untuk mengirim perubahan Anda ke Cloud Source Repositories:
git push origin main
  1. Kembali ke Konsol Cloud dan layanan Cloud Build. Anda akan melihat build lainnya yang berjalan.

Klik Periksa progres saya untuk memverifikasi tujuan. Mengotomatiskan Build dengan Pemicu.

Tugas 6. Menguji perubahan build Anda

  1. Ketika build selesai, klik untuk melihat detailnya.

  2. Klik Execution Details,

  3. Klik Image name. Anda akan dialihkan ke halaman image di Artifact Registry.

  4. Di bagian atas panel, klik Copy path di samping nama image. Anda perlu melakukan hal ini untuk langkah-langkah berikutnya. Formatnya akan terlihat seperti berikut.

{{{project_0.default_region | Lab Region }}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-demo/devops-image@sha256:8aede81a8b6ba1a90d4d808f509d05ddbb1cee60a50ebcf0cee46e1df9a54810 Catatan: Jangan menggunakan nama image yang berada di Digest.
  1. Buka layanan Compute Engine. Seperti yang Anda lakukan sebelumnya, buat virtual machine baru untuk menguji image ini. Klik DEPLOY CONTAINER dan tempel image yang baru Anda salin.

  2. Pilih Allow HTTP traffic.

  3. Saat mesin dibuat, uji perubahan Anda dengan membuat permintaan ke alamat IP eksternal VM di browser Anda. Pesan baru akan ditampilkan.

Catatan: Anda mungkin perlu menunggu beberapa menit setelah VM dibuat agar container Docker dimulai.

Klik Periksa progres saya untuk memverifikasi tujuan. Menguji Perubahan Build Anda.

Selamat!

Dalam lab ini, Anda telah membangun pipeline continuous integration menggunakan GitHub, Cloud Build, pemicu Build, dan Artifact Registry.

Mengakhiri lab Anda

Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.

Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.

Makna jumlah bintang:

  • 1 bintang = Sangat tidak puas
  • 2 bintang = Tidak puas
  • 3 bintang = Netral
  • 4 bintang = Puas
  • 5 bintang = Sangat puas

Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.

Untuk masukan, saran, atau koreksi, gunakan tab Support.

Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.