Latihan 1 dari materi Container Registry di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Isi function parseImageRef(ref) yang membongkar nama image jadi object { registry, namespace, name, tag }, dengan kunci persis dalam urutan itu.
Format nama: [REGISTRY/]NAMESPACE/NAME[:TAG].
Potong ref di tiap /. Kalau ada lebih dari satu bagian dan bagian pertama berisi titik (.) atau titik dua (:), atau persis localhost, bagian itu registry. Kalau gak, registry = "docker.io".
Bagian terakhir adalah nama plus tag. Bagian di antaranya adalah namespace; kalau gak ada, namespace = "library".
Di bagian terakhir, yang setelah : adalah tag. Kalau gak ada :, tag = "latest".
Tiga baris console.log di kode awal biarkan. Yang diuji adalah nilai kembalian, dibandingkan persis:
Kerjakan dari luar ke dalam: tentukan dulu registry dari bagian pertama, lalu nama dan tag dari bagian terakhir, dan sisanya namespace. Isi default untuk yang gak ada.
const parts = ref.split("/"). Kalau parts.length > 1 dan parts[0] berisi "." atau ":", atau sama dengan "localhost", ambil dengan parts.shift() sebagai registry. Bagian terakhir diambil dengan parts.pop(); sisanya (kalau ada) jadi namespace, kalau kosong "library".
Untuk bagian terakhir: const i = last.lastIndexOf(":"); const name = i === -1 ? last : last.slice(0, i); const tag = i === -1 ? "latest" : last.slice(i + 1); return { registry, namespace, name, tag };
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...