Traffine I/O

Bahasa Indonesia

2023-03-04

Apa itu CircleCI

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:

  1. Kunjungi website CircleCI dan klik Get Started.
  2. Pilih penyedia kontrol versi yang Anda sukai (GitHub, Bitbucket, atau GitLab) dan otorisasi CircleCI untuk mengakses repositori Anda.
  3. Lengkapilah proses pendaftaran dengan menyediakan informasi yang diperlukan, seperti nama dan alamat email Anda.
  4. 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:

  1. Dari dasbor CircleCI, klik Add Projects.
  2. Temukan repositori Anda dalam daftar repositori yang tersedia dan klik tombol Set Up Project.
  3. 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:

.circleci/config.yaml
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 disebut build yang berjalan di dalam kontainer Docker menggunakan gambar circleci/python:3.7. Bidang steps 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 disebut build-and-test yang berisi satu tugas, yaitu build.

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:
.circleci/config.yaml
- 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 bidang parallelism dalam tugas Anda dan menggunakan perintah circleci tests split:
.circleci/config.yaml
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 bidang context ke jalur kerja:
.circleci/config.yaml
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.

https://circleci.com/pricing/

Referensi

https://circleci.com/
https://circleci.com/pricing/

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!