Apa yang dimaksud dengan pengiriman berkelanjutan?

Selesai

Di sini, Anda akan mengikuti tim Tailspin saat membahas bagaimana alur pengiriman berkelanjutan (CD) dapat membantu mereka dengan rilis mendatang.

Tim Tailspin mulai merasa lebih baik tentang proses build mereka. Mereka memiliki proses otomatis yang berjalan di Azure Pipelines, yang berarti lingkungan build stabil. Amita dapat segera tahu kapan dia perlu menguji artefak. Dia menemukan lebih sedikit bug karena Andy dan Mara telah mulai menambahkan pengujian unit dan pengujian kualitas kode. Hidup ini terlihat baik. Mari kita lihat keadaan tim ini.

Pertemuan pagi

Tim berada di ruang rapat menunggu Irwin, manajer produk, yang ingin berbicara dengan mereka. Mereka tak sabar untuk menceritakan kemajuan mereka. Tapi ketika Irwin masuk, dia tidak terlihat bahagia. Dia langsung mulai berbicara.

Irwin: Saya mengikuti rapat dengan tim manajemen pagi ini. Mereka ingin tahu mengapa kita membutuhkan waktu sangat lama untuk merilis game dan situs webnya. Pesaing terdekat kita mendapatkan fitur baru dan permainan baru jauh lebih cepat daripada yang kita rilis. Kita perlu mempercepat semuanya. Peringatan ini tidak ditujukan untuk Anda saja. Ini berlaku untuk semua tim. Apa yang dapat kami lakukan untuk membantu tim menyebarkan lebih cepat?

Andy: Ini sedikit mendadak, tapi kami sudah ada sedikit progres. Kami telah mengotomatiskan cara kami membangun situs web kami. Mungkin sekarang saatnya untuk memperpanjang otomatisasi kita pada proses rilis.

Irwin: Bagaimana Anda akan melakukannya?

Mara: Kami membuat alur build otomatis dengan menggunakan Azure Pipelines. Alur tersebut membangun artefak yang dapat diuji Amita. Kita juga dapat membangun alur pengiriman berkelanjutan (CD).

Irwin: Apa itu alur CD?

Mara mulai menjelaskan, tetapi terganggu ketika ponsel Irwin berbunyi bip. Irwin membaca pesan teks dan bergumam.

Irwin: Maaf, ada hal mendesak. Saya harus pergi. Bagaimana jika Anda mencari tahu tentang bisnis CD ini dan kemudian jelaskan pada saya?

Andy melihat anggota timnya.

Andy: Kopi?

Andy dan timnya menuju ke kedai kopi untuk membuat rencana.

Apa yang dimaksud dengan pengiriman berkelanjutan?

Tim bertemu melalui kopi untuk mencari tahu cara menyiapkan alur kerja pengiriman berkelanjutan.

Mara, dapatkah Anda memberitahu kami apa yang Anda ketahui tentang pengiriman berkelanjutan?

Mara: Menurut saya, CD dan DevOps tidak dapat dipisahkan. Perlu diingat bahwa kami mendefinisikan DevOps sebagai penyatuan orang, proses, dan produk untuk memungkinkan pengiriman nilai yang berkelanjutan kepada pengguna akhir kami.

CD sendiri adalah sebuah set proses, alat, dan teknik yang mengaktifkan pengiriman perangkat lunak yang cepat, andal, dan berkelanjutan. Jadi CD tidak hanya tentang menyiapkan alur, meskipun bagian tersebut penting. CD adalah tentang menyiapkan lingkungan kerja di mana:

  • Kita memiliki proses yang andal dan dapat diulang untuk merilis dan menyebarkan perangkat lunak.
  • Kita mengotomatiskan sebanyak mungkin bagian.
  • Kami tidak menunda melakukan sesuatu yang sulit atau menyakitkan; sebaliknya, kita melakukannya lebih sering sehingga kita mencari tahu cara membuatnya rutin.
  • Kita menjaga semuanya dalam kontrol sumber.
  • Kita semua setuju bahwa selesai berarti rilis.
  • Kami membangun kualitas ke dalam proses. Kualitas bukanlah hal untuk dipikir nanti.
  • Kita semua bertanggung jawab atas proses rilis. Kita tidak lagi bekerja di silo.
  • Kita selalu berusaha untuk lebih baik.

Kita sudah banyak mewujudkan berbagai ide menjadi kenyataan, dan kita semua tahu bagaimana ide-ide ini memperbaiki cara kita bekerja. CD adalah ekstensi dari apa yang telah kita mulai.

Mengapa saya memerlukan pengiriman berkelanjutan?

CD membantu pengembang perangkat lunak memberikan pembaruan perangkat lunak kepada pelanggannya dengan putaran yang cepat. CD juga membantu memastikan bahwa pelanggan dan pemangku kepentingan memiliki fitur dan perbaikan terbaru dengan cepat.

Mari kita terus mendengarkan saat mereka membicarakan hal ini.

Andy: Terima kasih, Mara. Kita perlu CD karena, seperti yang kita semua tahu, dunia telah berubah. Fitur baru terus dirilis lebih cepat. Pembaruan dan perbaikan bug harus segera tersedia. Bukan hanya manajemen kita yang ingin mempercepat rilis. Manajemen hanya bereaksi terhadap tuntutan pelanggan kita. Jika pelanggan tidak bisa mendapatkan apa yang mereka inginkan dari kita, mereka akan pergi ke tempat lain.

Tim: Setuju! Aku tidak sabar untuk memulai.

Andy: Terima kasih, semuanya. Saya mengusulkan saya dan Mara untuk menyusun bukti konsep sederhana (POC). Saya pikir semuanya akan jauh lebih mudah dipahami jika Anda dapat melihat bagaimana alur CD bekerja.

Amita: Semoga berhasil untuk Anda berdua.

Tim tersebut meninggalkan Andy dan Mara untuk mengerjakan detailnya.

Bagaimana pengiriman berkelanjutan ketika dibandingkan dengan penerbitan klik kanan?

Banyak alat pengembangan menyediakan cara untuk menerbitkan aplikasi Anda langsung ke beberapa lingkungan target, seperti Microsoft Internet Information Services (IIS) atau Azure. Misalnya, Anda dapat Menerbitkan aplikasi ASP.NET Core ke Azure dengan menggunakan Visual Studio. Proses ini terkadang disebut penerbitan klik kanan.

Penerbitan klik kanan adalah cara yang bagus untuk membangun prototipe dengan cepat. Misalnya, Anda dapat mengklik kanan publikasikan aplikasi Anda ke Azure sehingga Anda dapat berbagi ide baru dengan tim Anda. Namun, teknik ini memiliki keterbatasan.

Pengiriman berkelanjutan menyediakan cara yang konsisten bagi Anda dan tim untuk terus menguji, menyebarkan, dan memantau aplikasi Anda setiap kali Anda mengecek masuk kode Anda. Saat Anda mengeklik kanan terbitkan aplikasi Anda, tidak ada jaminan bahwa kode telah diuji dengan benar, atau akan berperilaku seperti yang diharapkan dalam penggunaan dunia nyata.

Dalam video singkat ini, Abel Wang, Cloud Advocate di Microsoft, menjelaskan lebih lanjut.

Bagaimana pengiriman berkelanjutan dibandingkan dengan penyebaran berkelanjutan?

Di komunitas DevOps, Anda mungkin mendengar istilah pengiriman berkelanjutan dan penyebaran berkelanjutan. Apakah istilah-istilah ini berarti sama? Dalam video singkat ini, Abel menjelaskan perbedaannya.

Alat pengiriman berkelanjutan apa yang dapat saya gunakan?

Setelah rapat, Andy dan Mara merencanakan langkah selanjutnya. Mereka menggunakan Azure Pipelines untuk membangun perangkat lunak mereka. Mereka ingin mempertimbangkan alat apa, termasuk Azure Pipelines, yang tersedia untuk membantu proses rilis mereka.

Mara: Di mana Anda ingin memulai?

Andy: Pertama, kita perlu menyetujui alat manajemen rilis kita. Mari kita pastikan alat yang kita pilih:

  • Mendukung sistem kontrol versi kami.
  • Dapat menyebarkan ke beberapa lingkungan sehingga kami dapat menguji dan memvalidasi pekerjaan.
  • Memudahkan untuk menentukan tugas penyebaran kami.
  • Mudah diperpanjang.

Mara: Azure DevOps terintegrasi dengan beberapa solusi integrasi berkelanjutan (CI) dan CD lainnya. Banyak solusi di luar sana, dan kami tidak tertarik. Jika kami tertarik, akan masuk akal untuk menggunakannya. Sistem CI dan CD populer termasuk Jenkins, Circle CI, GitLab, Travis CI, dan Azure Pipelines.

Alat-alat ini memiliki kesamaan, tetapi masing-masing juga memiliki kelebihan tertentu. Beberapa alat ini adalah sumber terbuka, beberapa gratis, dan beberapa berbayar. Alat-alat ini juga menyediakan integrasi bawaan dengan perangkat lunak lainnya.

Misalnya, Jenkins adalah sumber terbuka. Aplikasi ini memiliki banyak plug-in, dan banyak perusahaan menggunakannya. Anda dapat menjalankan Circle CI di cloud atau lokal. Kurasa kita harus menyesuaikannya. GitLab adalah aplikasi tunggal untuk seluruh siklus hidup pengembangan perangkat lunak. Mungkin aplikasi ini lebih besar dari yang kita perlukan sekarang. Kita dapat terus menggunakan Azure Pipelines.

Berikut adalah video singkat di mana Abel berbicara tentang menggunakan praktik terbaik DevOps untuk menyebarkan kode ke Azure.

Mara: Pilihan saya adalah tetap menggunakan Azure Pipelines.

Andy: Saya setuju. Azure Pipelines telah berfungsi sangat baik sejauh ini dan kita tidak perlu mempelajari teknologi baru lainnya.

Mara: Bagus sekali. Mari kita membahas detail alur.

Andy dan Mara pindah ke ruang konferensi untuk merencanakan alur CD mereka.