Apa itu pengiriman berkelanjutan?
Pengiriman berkelanjutan memungkinkan tim pengembangan mengotomatiskan proses yang menggerakkan perangkat lunak melalui siklus pengembangan perangkat lunak
Berlangganan buletin IBM
Latar belakang hitam dan biru
Apa itu pengiriman berkelanjutan?

Pengiriman berkelanjutan memungkinkan tim pengembangan mengotomatiskan proses yang menggerakkan perangkat lunak melalui siklus pengembangan perangkat lunak, dan ini dapat memberikan banyak manfaat ketika menyediakan kotak alat terintegrasi, termasuk yang berikutini:

  • Mengurangi waktu penerapan melalui pengujian dan pengembangan berkelanjutan

  • Mengurangi biaya yang terkait dengan pengembangan perangkat lunak tradisional

  • Skala pengembangan perangkat lunak berdasarkan ukuran proyek

  • Menerapkan kode secara otomatis ke dalam setiap fase siklus pengembangan

Dalam video berikut ini, Eric Minick menjelaskan lebih lanjut tentang pengiriman berkelanjutan:

Praktik terbaik pengiriman berkelanjutan

Berikut ini adalah serangkaian praktik terbaik yang perlu dipertimbangkan ketika menggunakan pengiriman berkelanjutan:

  • Jadikan setiap perubahan dapat dirilis: Jika Anda menggunakan pengiriman berkelanjutan untuk membuat setiap perubahan dapat dirilis, Anda harus menyertakan dokumentasi pengguna, buku runbook operasi, dan informasi tentang apa yang diubah, untuk tujuan audit.

  • Gunakan pengembangan berbasis trunk: Penyampaian berkelanjutan dibangun di atas integrasi berkelanjutan. Hindari cabang yang menunda integrasi sebanyak mungkin sehingga setiap perubahan dibangun, diuji, dan diterapkan bersama untuk mendapatkan umpan balik tercepat.

  • Lakukan pengiriman melalui pipeline otomatis: Agar berhasil menerapkan continuous delivery, Anda memerlukan pipeline pengiriman otomatis yang dibangun dengan baik untuk memastikan semua rilis kode Anda berpindah ke lingkungan pengujian dan produksi dengan cara yang konsisten.

  • Otomatiskan sebanyak mungkin: Dalam pengiriman berkelanjutan, Anda harus mengotomatiskan sebanyak mungkin proses dalam siklus pengembangan perangkat lunak Anda untuk menciptakan pipeline pengiriman yang baik dan andal, tidak hanya untuk pembuatan dan penerapan kode, tetapi juga untuk pembuatan lingkungan pengembangan baru.

  • Bertujuan untuk tidak ada waktu henti: Untuk memastikan ketersediaan aplikasi saat Anda melakukan pembaruan pengiriman yang sering dan berkelanjutan, saat Anda mendorong fungsi baru ke produksi, Anda harus memvalidasinya terlebih dahulu sebelum menerapkannya ke instance aplikasi yang sedang berjalan publik.

  • Rilis pada granularitas pengujian: Jika dua bagian dari sistem harus diuji bersama, keduanya harus dirilis bersama sehingga Anda tahu bahwa bagian-bagian sistem Anda kompatibel. Alat bantu otomatisasi rilis sangat baik dalam mengoordinasikan pengiriman semacam ini. Alternatifnya, pisahkan sepenuhnya.
Saluran/kerangka kerja yang berkelanjutan

Untuk memanfaatkan manfaat dari pengiriman berkelanjutan, Anda memerlukan elemen lain dari kerangka kerja berkelanjutan, seperti eksplorasi berkelanjutan, integrasi berkelanjutan, penerapan berkelanjutan, dan rilis sesuai permintaan.

Ketika Anda menggunakan tahapan delivery pipeline berkelanjutan, Anda harus membaginya menjadi beberapa pekerjaan terpisah, yang merupakan unit eksekusi dalam satu tahapan:

  • Pekerjaan pembangunan: Kompilasi proyek Anda dalam pekerjaan pembangunan untuk mempersiapkan penyebaran, di mana Anda menghasilkan artefak yang dapat Anda kirimkan ke direktori arsip pembangunan.

  • Terapkan pekerjaan: Unggah proyek Anda ke delivery pipeline berkelanjutan sebagai aplikasi yang dapat Anda akses dari URL. Setelah Anda menerapkan proyek Anda, Anda melihatnya di dasbor Anda.

  • Pekerjaan pengujian: Sesuaikan dan sertakan pekerjaan pengujian sebelum atau setelah membangun dan menerapkan pekerjaan berdasarkan rangkaian pengujian unit atau pengujian fungsional dengan layanan pengujian pihak ketiga.

Delivery pipeline yang berkelanjutan dapat membantu tim pengembangan:

  • Otomatiskan pembuatan, pengujian unit, dan penerapan

  • Mengedit dan mendorong kode dengan menggunakan repositori Git, pelacakan masalah, dan IDE (lingkungan pengembangan terintegrasi) berbasis web Anda

  • Buat kotak alat DevOps terintegrasi untuk membangun, menyebarkan, dan mengelola aplikasi Anda dengan layanan, alat sumber terbuka, dan alat pihak ketiga

  • Edit kode Anda dari mana saja yang Anda pilih untuk menggunakan IDE untuk membuat, mengedit, menjalankan, men-debug, dan menyelesaikan tugas-tugas kontrol sumber

  • Gunakan pipeline otomatis Anda untuk terus memberikan build, pengujian, dan penerapan secara berulang

  • Tingkatkan kualitas dengan memahami status build, hasil pemindaian keamanan, cakupan kode, dan cakupan pengujian sehingga Anda dapat mengevaluasi apakah akan mempromosikan aplikasi Anda ke lingkungan berikutnya (melalui gerbang kebijakan untuk secara otomatis memastikan kualitas sebelum promosi)
Penyebaran berkelanjutan vs. pengiriman berkelanjutan

Penerapan berkelanjutan dapat menjadi bagian dari jalur pengiriman berkelanjutan. Secara khusus, pengiriman berkelanjutan adalah pergerakan kode secara otomatis melalui siklus hidup pengembangan (terkadang disebut siklus hidup pengiriman); penyebaran berkelanjutan adalah pergerakan otomatis kode tersebut ke dalam produksi, setelah melewati pengujian otomatis yang diperlukan.

Apakah Anda menjadikan penerapan berkelanjutan sebagai bagian dari pipeline pengiriman tergantung pada kebutuhan bisnis Anda. Jika bisnis membutuhkan tim pengiriman untuk merilis perangkat lunak baru atau yang diperbarui ke produksi berulang kali, andal, atau secepat mungkin, atau jika solusinya memiliki banyak ketergantungan, maka kemungkinan besar Anda akan mendapat manfaat dari penerapan berkelanjutan.

Untuk informasi lebih lanjut tentang perbedaan antara penerapan berkelanjutan dan pengiriman berkelanjutan, lihat video ini:

Alat bantu pengiriman berkelanjutan

Alat bantu pengiriman berkelanjutan memungkinkan Anda menggunakan alat bantu sumber terbuka untuk membangun, menyebarkan, dan mengelola aplikasi Anda. Dengan mengintegrasikan seperangkat alat bantu, Anda dapat membuat tugas yang dapat diulang dan dikelola, tidak hanya untuk tim pengembangan tetapi juga tim operasi Anda.

Toolbox Anda bisa mencakup layanan cloud Anda saat ini, alat bantu open source, dan alat bantu pihak ketiga, namun Anda juga perlu mempertimbangkan alat bantu pengiriman berkelanjutan yang mencakup hal-hal berikut ini:

  • Templat yang dapat diulang untuk otomatisasi pembuatan dan penerapan. Jika berhasil untuk salah satu aplikasi Anda, seharusnya bisa juga untuk aplikasi lainnya. Jangan biarkan setiap tim berjuang dengan konfigurasi sendiri.

  • Sebuah pipeline sehingga Anda bisa secara otomatis membangun ketika mendorong perubahan, menerapkan ke cloud Anda, menggabungkan build dan penerapan ke dalam toolchain Anda, dan mengelola penerapan di seluruh toolchain Anda.

  • Alat untuk kolaborasi tim, perencanaan, manajemen kode sumber, dan pengujian.

  • Instrumentasi yang memaparkan di mana tim Anda bergerak cepat dan di mana segala sesuatunya macet, memberikan panduan untuk menjadi "lebih berkelanjutan."

Alat bantu open source continuous delivery yang bisa Anda gunakan untuk pipeline continuous delivery yang kuat meliputi Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD, dan GitLab CI.

Agile dan DevOps

Pengiriman berkelanjutan yang gesit

Sebelumnya, Anda hanya akan merilis perangkat lunak sekali dan kemudian memperbaruinya. Anda kemudian hanya akan berkonsultasi dengan pelanggan di awal dan akhir untuk mengetahui apakah perangkat lunak memenuhi kebutuhan mereka.

Agile adalah cara memproduksi perangkat lunak dalam iterasi singkat dengan jadwal pengiriman yang berkelanjutan, dan proses pengiriman berkelanjutan yang tangkas saat ini berarti Anda dapat merilis kode ke pelanggan saat setiap fitur yang ditentukan tersedia. Pengembangan yang tangkas dan pengiriman yang berkelanjutan adalah kunci Anda untuk memberikan fitur kepada pelanggan segera setelah siap produksi. Tujuan Anda adalah memiliki setiap fitur yang siap untuk dirilis saat keluar dari pipeline.

Pelajari lebih lanjut tentang manfaat prinsip-prinsip gesit.

DevOps dan pengiriman berkelanjutan

Dalam beberapa dekade terakhir, pengembangan perangkat lunak telah mengalami perubahan yang signifikan karena beralih dari konsep waterfall standar ke metodologi tangkas yang lebih efisien. Untuk beradaptasi, Anda perlu beralih ke pendekatan yang berfokus pada agile, DevOps, dan pengiriman berkelanjutan. Sebagai bagian dari delivery pipeline yang berkelanjutan, proses yang terfokus ini memungkinkan rilis dan pembaruan perangkat lunak yang lebih andal dan berkualitas tinggi.

Ketika Anda membuat rilis perangkat lunak yang lebih cepat dan lebih kecil melalui pengembangan yang gesit, fokus Anda akan menjadi lebih ketat pada setiap tahap pengembangan perangkat lunak. Pada saat yang sama, DevOps membuat pikiran Anda tetap fokus pada "Gambaran yang Lebih Besar" dan perubahan budaya karena pengembangan dan operasi bergabung menjadi satu tim yang mengerjakan seluruh siklus pengembangan perangkat lunak, mulai dari pengkodean, pengujian, penerapan, hingga dukungan.

Untuk melihat lebih dekat proses DevOps, tonton video di bawah ini:

Solusi terkait
IBM Cloud Continuous Delivery

IBM Continuous Delivery adalah layanan cloud yang membantu penyediaan rantai alat, mengotomatiskan pembuatan dan pengujian, serta mengontrol kualitas dengan analitik.

Jelajahi IBM Cloud® Continuous Delivery
IBM UrbanCode®

Rangkaian produk perangkat lunak IBM UrbanCode membantu Anda mengirimkan perangkat lunak ke pasar lebih cepat dengan mempercepat pengiriman aplikasi dan mengurangi proses manual.

Jelajahi IBM UrbanCode®
Tekton di IBM Cloud®

Buat pipeline CI/CD asli Kubernetes dengan kecepatan dan fleksibilitas maksimum.

Jelajahi Tekton di IBM Cloud
Sumber daya Apa itu DevOps?

DevOps mempercepat pengiriman perangkat lunak berkualitas tinggi dengan menggabungkan dan mengotomatiskan pekerjaan pengembangan perangkat lunak dan tim operasi TI.

Apa yang dimaksud dengan integrasi berkelanjutan?

Integrasi berkelanjutan adalah proses pengembangan berulang di mana pengembang mengintegrasikan kode baru ke dalam basis kode setidaknya sekali sehari.

Apa itu CI/CD dan pipeline CI/CD?

Panduan praktis untuk pipeline integrasi berkelanjutan/pengiriman berkelanjutan (CI/CD) ...

Ambil langkah selanjutnya

Apakah Anda siap untuk DevOps? Menyampaikan perangkat lunak dan layanan dengan kecepatan yang diminta pasar mengharuskan tim untuk melakukan iterasi dan bereksperimen dengan cepat, dan sering menggunakan versi baru, didorong oleh umpan balik dan data. Tim pengembangan cloud yang paling sukses mengadopsi budaya dan praktik DevOps modern, merangkul arsitektur asli cloud, dan merakit rantai alat dari alat terbaik di kelasnya untuk meningkatkan produktivitas mereka.

Temukan solusi DevOps Anda