Jenkins

Jenkins adalah sebuah automasi server yang berbasis open source yang ditulis menggunakan bahasa pemrograman Java. Dengan dukungan komunitas yang cukup besar dan jumlah plugin yang cukup banyak, Jenkins menjadi salah satu tools yang cukup populer untuk mengimplementasikan Continuous Integration dan Continous Delivery atau biasa yang disebut CI/CD proses. Jenkins dulunya dikenal sebagai Hudson, namanya kemudian berubah setelah Oracle membeli Hudson dan memutuskan untuk mengembangkan Jenkins. Jenkins tetap berada di bawah lisensi MIT dan memiliki nilai yang tinggi akan simplicity, flexibility dan versatility. 

Jenkins memiliki karakteristik sebagai berikut:

  • Language Agnostic

Jenkins memiliki banyak plugin, yang support dengan banyak bahasa pemrograman dan framework. Dan juga dapat digunakan dengan shell command dan dapat diinstall dengan banyak software. Tentunya hal tersebut sangat mendukung untuk automation proses yang dibutuhkan.

  • Extensible by Plugins

Jenkins memiliki dukungan komunitas yang besar dengan banyak plugin yang tersedia (1000 ++). Hal tersebut memungkinkan Anda untuk menulis plugin sendiri
sesuai dengan kebutuhan.

  • Portable

Jenkins ditulis menggunakan bahasa pemrograman Java, hal tersebut sangat memungkinkan Jenkins untuk dijalankan di sistem operasi apapun. Jenkins disediakan juga dalam bentuk Web Application Archive (WAR), Docker image, Windows binary, Mac binary dan Linux binary.

  • Supports most SCM

Jenkins terintegrasi dengan hampir semua source code management. 

  • Distributed

Jenkins memiliki mekanisme bawaan untuk mode master ataupun slave, yang mendistribusikan perintah eksekusi di beberapa node yang terletak di banyak machine. Hal tersebut juga dapat digunakan di environment yang heterogen, contohnya dapat dijalankan di node yang berbeda, dengan sistem operasi yang berbeda-beda.

  • Simplicity

Proses instalasi dan konfigurasi Jenkins cukup sederhana. Tidak membutuhkan konfigurasi software tambahan ataupun konfigurasi database. Jenkins dapat dikonfigurasi via GUI, XML atau Groovy scripts.

  • Code-oriented

Jenkins pipeline di define sebagai code. Hal tersebut memungkinkan kita untuk menyimpan konfigurasi Jenkins di dalam source code repository dan membantu meng-automisasi konfigurasi Jenkins.

Jenkins memiliki beberapa fitur, diantaranya adalah:

  • Trigger build
  • Get source code from repository
  • Automatically build and test
  • Generate report and notify
  • Deploy
  • Distributed build

Jenkins memliki beberapa plugin, diantaranya adalah:

  • Build triggers
  • Source code management
  • Build tools
  • Build notifiers
  • Build reports
  • Artifact uploaders
  • UI plugins
  • Authentication and user management

Jenkins memiliki build triggers, dimana build trigger itu sendiri adalah menjalankan sebuah perintah eksekusi pada sebuah project yang kita miliki, diantaranya adalah:

  • Manually click build button
  • Build periodically
  • Build whenever a snapshot dependency is built
  • Build after other projects are built
  • Poll SCM

Jenkins dapat terintegrasi dengan beberapa source code repository, diantaranya adalah:

  • CVS (build-in)
  • SVN (build-in)
  • GIT (requires Git)
  • ClearCase (requires ClearCase)
  • Mercurial, PVCS, VSS, …
  • Get current snapshot
  • Get baseline (tag)

Jenkins memiliki build-tools, diantaranya adalah:

  • Java

      — Maven (build-in), Ant, Gradle

  • .Net

      — MSBuild, PowerShell

  • Shell script

      — Python, Ruby, Groovy

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *