Apa itu CircleCI
CircleCI adalah platform integrasi berkelanjutan (CI) dan penyebaran berkelanjutan (CD) yang mengotomatisasi proses membangun, menguji, dan menyebarluaskan aplikasi perangkat lunak. Ini memungkinkan pengembang untuk fokus pada menulis kode dan memastikan bahwa aplikasi selalu dalam keadaan dapat dirilis. Solusi berbasis awan dan mandiri CircleCI memberdayakan tim pengembangan untuk membuat jalur CI/CD yang scalable, efisien, dan kuat yang memenuhi tuntutan pengembangan perangkat lunak modern.
Manfaat CircleCI
CircleCI menawarkan banyak manfaat bagi tim pengembangan yang ingin menerapkan jalur CI/CD, termasuk:
-
Integrasi Mulus
CircleCI terintegrasi dengan mudah dengan sistem kontrol versi populer, termasuk GitHub, Bitbucket, dan GitLab. Ini memudahkan proses pengaturan dan konfigurasi jalur CI/CD Anda. -
Fleksibilitas
Dengan dukungan untuk berbagai bahasa pemrograman, platform, dan alat, CircleCI memungkinkan Anda membangun dan menyebarluaskan aplikasi yang disesuaikan dengan kebutuhan Anda. -
Skalabilitas
Solusi berbasis awan CircleCI menawarkan kapasitas paralel yang hampir tak terbatas untuk membangun, memungkinkan tim untuk tumbuh dan menangani beban kerja yang semakin meningkat tanpa mengorbankan kecepatan atau efisiensi. -
Customizability
Opsi konfigurasi yang kuat dan orbs yang dapat digunakan kembali memungkinkan Anda membuat jalur yang sangat disesuaikan yang menyederhanakan proses pengembangan dan mengurangi kebutuhan untuk intervensi manual. -
Penghematan Waktu
Fitur caching dan optimasi CircleCI membantu mengurangi waktu pembangunan, memungkinkan tim Anda untuk mengulangi dan memberikan fitur baru dengan lebih cepat.
Mengatur Lingkungan CircleCI Anda
Membuat Akun CircleCI
Sebelum Anda dapat mulai menggunakan CircleCI, Anda perlu membuat akun. Ikuti langkah-langkah ini untuk menyiapkan akun CircleCI Anda:
- Kunjungi website CircleCI dan klik
Get Started
. - Pilih penyedia kontrol versi yang Anda sukai (GitHub, Bitbucket, atau GitLab) dan otorisasi CircleCI untuk mengakses repositori Anda.
- Lengkapilah proses pendaftaran dengan menyediakan informasi yang diperlukan, seperti nama dan alamat email Anda.
- Setelah akun Anda dibuat, Anda akan diarahkan ke dasbor CircleCI.
Integrasi dengan Sistem Kontrol Versi
CircleCI mendukung integrasi dengan GitHub, Bitbucket, dan GitLab. Untuk menyiapkan repositori Anda untuk digunakan dengan CircleCI, ikuti langkah-langkah berikut:
- Dari dasbor CircleCI, klik
Add Projects
. - Temukan repositori Anda dalam daftar repositori yang tersedia dan klik tombol
Set Up Project
. - Ikuti instruksi di layar untuk mengkonfigurasi repositori Anda. CircleCI mungkin memberikan Anda file konfigurasi contoh (
.circleci/config.yml
) untuk memulai.
Setelah repositori Anda dikonfigurasi, CircleCI akan secara otomatis memulai membangun dan menguji kode Anda setiap kali ada perubahan yang di-push ke repositori.
Mengonfigurasi Pengaturan Proyek
CircleCI menyediakan berbagai pengaturan yang memungkinkan Anda menyesuaikan jalur CI/CD Anda. Untuk mengakses pengaturan proyek Anda, klik ikon gigi di sebelah nama proyek Anda di dasbor CircleCI. Beberapa pengaturan kunci termasuk:
-
Environment Variables
Anda dapat mendefinisikan variabel lingkungan yang akan tersedia untuk jalur Anda. Ini berguna untuk menyimpan informasi sensitif, seperti kunci API, yang tidak boleh di-hardcode ke file konfigurasi Anda. -
Build Settings
Anda dapat mengonfigurasi berbagai pengaturan bangunan, seperti jumlah membangun paralel yang diizinkan, durasi waktu habis membangun, dan cabang default untuk memicu membangun. -
Notifications
Anda dapat menyiapkan notifikasi email, Slack, atau webhook yang akan dikirimkan ketika peristiwa tertentu terjadi, seperti kegagalan membangun atau penyebaran yang berhasil. -
Advanced Settings
Pengaturan ini memungkinkan Anda mengaktifkan atau menonaktifkan fitur seperti akses SSH ke membangun, pembatalan otomatis dari membangun yang redundan, dan penggunaan API CircleCI.
File Konfigurasi CircleCI
Memahami config.yml
Jantung setiap proyek CircleCI adalah file config.yml
, yang terletak di direktori .circleci
di akar repositori Anda. File ini mendefinisikan jalur CI/CD Anda, termasuk langkah-langkah yang diperlukan untuk membangun, menguji, dan menyebarluaskan aplikasi Anda.
Syntax Konfigurasi Dasar
File konfigurasi CircleCI dasar terdiri dari beberapa elemen kunci, termasuk version
, jobs
, dan workflows
. Berikut adalah contoh sederhana:
version: 2.1
jobs:
build:
docker:
- image: circleci/python:3.7
steps:
- checkout
- run: pip install -r requirements.txt
- run: pytest
workflows:
version: 2
build-and-test:
jobs:
- build
-
version
: Bidang ini menentukan versi skema konfigurasi CircleCI. Versi terbaru, saat tulisan ini dibuat, adalah 2.1. -
jobs
: Bagian ini mendefinisikan tugas atau tindakan individu yang membentuk jalur Anda. Pada contoh ini, kita memiliki satu tugas yang disebutbuild
yang berjalan di dalam kontainer Docker menggunakan gambarcircleci/python:3.7
. Bidangsteps
dalam tugas ini memuat tindakan yang akan dilakukan, seperti memeriksa kode, menginstal dependensi, dan menjalankan pengujian. -
workflows
: Bagian ini digunakan untuk mendefinisikan hubungan dan urutan eksekusi tugas dalam jalur Anda. Pada contoh ini, kita memiliki satu jalur kerja yang disebutbuild-and-test
yang berisi satu tugas, yaitubuild
.
Teknik Konfigurasi Lanjutan
CircleCI menawarkan beberapa fitur konfigurasi lanjutan yang memungkinkan Anda membuat jalur kerja yang kompleks dan efisien. Beberapa fitur ini antara lain:
- Pengambilan Caching
Tingkatkan waktu membangun dengan menyimpan dalam cache dependensi dan artefak membangun antara jalankan. Misalnya, Anda dapat menyimpan dalam cache dependensi Python seperti ini:
- restore_cache:
keys:
- v1-dependencies-{{ checksum "requirements.txt" }}
- run: pip install -r requirements.txt
- save_cache:
paths:
- ~/.cache/pip
key: v1-dependencies-{{ checksum "requirements.txt" }}
- Paralelisme
Mempercepat jalur kerja Anda dengan menjalankan tugas secara bersamaan. Anda dapat mendistribusikan pengujian ke beberapa kontainer dengan menentukan bidangparallelism
dalam tugas Anda dan menggunakan perintahcircleci tests split
:
jobs:
test:
parallelism: 4
steps:
- run:
name: Run tests
command: |
TESTFILES=$(circleci tests glob "tests/**/*.py" | circleci tests split --split-by=timings)
pytest $TESTFILES
- Konteks
Berbagi variabel lingkungan dan rahasia di beberapa proyek dalam organisasi Anda dengan menggunakan konteks. Untuk menggunakan konteks, cukup tambahkan bidangcontext
ke jalur kerja:
workflows:
version: 2
build-and-deploy:
jobs:
- build
- deploy:
context: my-organization-context
requires:
Paket Harga CircleCI
CircleCI menawarkan sejumlah paket harga yang dirancang untuk melayani berbagai ukuran proyek, persyaratan tim, dan anggaran. Dengan memahami berbagai tingkat harga, Anda dapat memilih paket yang paling cocok untuk kebutuhan Anda.
Free Plan
Free plan cocok untuk pengembang individu dan tim kecil yang ingin memulai dengan CircleCI. Paket ini menawarkan:
- 2.500 kredit membangun per bulan
- 1 tugas konkuren
- Akses ke API CircleCI
- Fitur standar, seperti caching dan Docker layer caching
Performance Plan
Performance plan disesuaikan untuk tim yang tumbuh dan proyek yang memerlukan lebih banyak fleksibilitas, daya, dan skalabilitas. Paket ini menyediakan:
- Paket kredit membangun yang dapat disesuaikan
- Akses ke kelas resource untuk mengoptimalkan kinerja membangun
- Hingga 80 tugas konkuren (tergantung pada kredit membangun yang tersedia)
- Fitur canggih, seperti wawasan pengujian dan paralelisme
Scale Plan
Scale plan dirancang untuk organisasi besar dan perusahaan yang memerlukan solusi CI/CD yang disesuaikan. Paket ini mencakup:
- Paket kredit membangun yang dapat disesuaikan
- Semua fitur paket Kinerja
- Manajer sukses pelanggan yang didedikasikan
- Kelas resource yang dapat disesuaikan
- Dukungan prioritas dan SLA
Solusi CircleCI Enterprise dan Self-Hosted
Untuk organisasi yang memerlukan solusi CI/CD self-hosted, CircleCI menawarkan paket Enterprise. Paket ini cocok untuk bisnis dengan persyaratan keamanan dan kepatuhan yang ketat atau yang ingin mempertahankan kendali atas infrastruktur mereka. Harga untuk paket CircleCI Enterprise disesuaikan berdasarkan kebutuhan organisasi Anda dan mencakup fitur seperti:
- Hosting on-premises atau cloud pribadi
- Lingkungan membangun yang dapat disesuaikan
- Dukungan dan SLA yang didedikasikan
- Integrasi dengan alat dan sistem yang ada
Untuk memilih paket harga yang paling sesuai, pertimbangkan faktor seperti ukuran tim Anda, persyaratan proyek, tingkat konkurensi yang diinginkan, dan kendala anggaran. Untuk informasi lebih lanjut tentang paket harga CircleCI dan untuk membandingkan fitur secara detail, kunjungi halaman harga CircleCI.
Referensi