Cara mudah menggunakan framework pre-commit

Arif Hidayat
Arunatech
Published in
4 min readMay 8, 2023
Flow
https://pixabay.com/users/thedigitalartist-202249/

Bismillah
masih membahas tentang development box, kali ini mari membahas terkait penggunaan framework pre-commit

Pre-commit adalah salah satu framework open-source yang digunakan untuk membantu dalam mengelola pengaturan dan konfigurasi git repository. Framework ini dapat digunakan untuk memastikan bahwa setiap commit yang dilakukan ke repository berjalan dengan baik dan memenuhi standar yang ditetapkan.

Pada artikel ini, saya akan membahas tutorial menggunakan framework pre-commit dan bagaimana framework ini dapat membantu dalam mengoptimalkan proses commit pada git repository.

Installasi Pre-commit

Pertama-tama, kita perlu menginstal pre-commit pada komputer kita. Cara terbaik untuk melakukannya adalah dengan menggunakan pip (package manager untuk bahasa pemrograman Python). Berikut adalah langkah-langkah untuk menginstal pre-commit:

a. Buka terminal atau command prompt.
b. Jalankan perintah berikut untuk menginstal pre-commit:

pip install pre-commit

Konfigurasi Pre-commit

Setelah menginstal pre-commit, langkah selanjutnya adalah mengkonfigurasi pre-commit agar dapat digunakan pada repository yang kita miliki. Berikut adalah langkah-langkah untuk mengkonfigurasi pre-commit:

a. Buka terminal atau command prompt pada direktori repository kita.
b. Jalankan perintah berikut:

pre-commit install

Perintah tersebut akan membuat file .pre-commit-config.yaml pada direktori repository kita.

Konfigurasi Plugin Pre-commit

Setelah mengkonfigurasi pre-commit, langkah selanjutnya adalah mengkonfigurasi plugin pre-commit. Plugin pre-commit adalah script atau program yang dapat digunakan untuk memastikan bahwa setiap commit yang dilakukan ke repository berjalan dengan baik dan memenuhi standar yang ditetapkan.

Berikut adalah langkah-langkah untuk mengkonfigurasi plugin pre-commit:

a. Buka file .pre-commit-config.yaml pada direktori repository kita.
b. Tambahkan konfigurasi plugin pre-commit yang ingin kita gunakan pada file .pre-commit-config.yaml. Contohnya, jika kita ingin menggunakan plugin black untuk memastikan bahwa kode Python kita memenuhi standar formatting yang ditetapkan, kita dapat menambahkan konfigurasi berikut:

repos:
- repo: https://github.com/psf/black
rev: stable
hooks:
- id: black

Menjalankan Pre-commit

Setelah mengkonfigurasi plugin pre-commit, langkah selanjutnya adalah menjalankan pre-commit. Pre-commit dapat dijalankan dengan perintah pre-commit run.

Berikut adalah langkah-langkah untuk menjalankan pre-commit:

a. Buka terminal atau command prompt pada direktori repository kita.
b. Jalankan perintah berikut untuk menjalankan pre-commit:

pre-commit run

Jika ada kesalahan atau masalah yang ditemukan pada commit kita, pre-commit akan memberikan pesan error dan commit tersebut tidak akan dilakukan.

Mengatasi Masalah pada Pre-commit

Jika ada masalah atau kesalahan yang ditemukan pada pre-commit, kita dapat mengatasi masalah tersebut dengan menggunakan perintah pre-commit autoupdate. Perintah tersebut akan mengupdate pre-commit ke versi terbaru dan memperbaiki masalah atau kesalahan yang terjadi.

Menambahkan Plugin Pre-commit baru

Jika kita ingin menambahkan plugin pre-commit baru pada repository kita, kita dapat melakukannya dengan menambahkan konfigurasi baru pada file .pre-commit-config.yaml.

Berikut adalah langkah-langkah untuk menambahkan plugin pre-commit baru:

a. Buka file .pre-commit-config.yaml pada direktori repository kita.
b. Tambahkan konfigurasi plugin pre-commit yang ingin kita gunakan pada file .pre-commit-config.yaml. Contohnya, jika kita ingin menggunakan plugin flake8 untuk memastikan bahwa kode Python kita memenuhi standar coding style yang ditetapkan, kita dapat menambahkan konfigurasi berikut:

repos:
- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
hooks:
- id: flake8

Pada konfigurasi di atas, kita menambahkan repo https://github.com/PyCQA/flake8 dan versi 3.9.2 dari plugin flake8. Selain itu, kita juga menambahkan hooks flake8 yang akan digunakan untuk menjalankan plugin flake8.

Setelah menambahkan konfigurasi baru pada file .pre-commit-config.yaml, kita dapat menjalankan pre-commit untuk memastikan bahwa plugin baru yang ditambahkan berjalan dengan baik. Caranya adalah dengan menjalankan perintah pre-commit run.

Menonaktifkan Pre-commit pada Commit Tertentu

Jika kita ingin menonaktifkan pre-commit pada commit tertentu, kita dapat melakukannya dengan menambahkan opsi --no-verify pada perintah git commit. Opsi tersebut akan mengabaikan pre-commit dan memungkinkan kita untuk melakukan commit tanpa melalui pre-commit.

Contohnya, jika kita ingin melakukan commit tanpa melalui pre-commit, kita dapat menjalankan perintah berikut:

git commit --no-verify -m "Commit message"

Menonaktifkan Pre-commit pada Repository Tertentu

Jika kita ingin menonaktifkan pre-commit pada repository tertentu, kita dapat melakukannya dengan menghapus file .git/hooks/pre-commit pada direktori repository kita. File tersebut merupakan file yang digunakan oleh git untuk menjalankan pre-commit.

Namun, perlu diperhatikan bahwa jika kita melakukan hal tersebut, pre-commit tidak akan berjalan pada repository tersebut dan hal tersebut dapat memengaruhi kualitas dan standar kode pada repository tersebut.

Menggunakan Pre-commit pada Continuous Integration (CI) Pipeline

Selain dapat digunakan pada local development, pre-commit juga dapat digunakan pada Continuous Integration (CI) pipeline. Dalam hal ini, pre-commit dapat digunakan untuk memastikan bahwa setiap commit yang dilakukan pada repository terintegrasi dengan baik dan memenuhi standar yang ditetapkan.

Untuk menggunakan pre-commit pada CI pipeline, kita perlu menambahkan langkah pre-commit run pada konfigurasi pipeline kita. Contohnya, jika kita menggunakan Jenkins sebagai CI pipeline, kita dapat menambahkan langkah berikut pada konfigurasi Jenkinsfile kita:

steps {
sh 'pre-commit run'
// Langkah-langkah lain pada pipeline
}

Dalam hal ini, pre-commit akan dijalankan sebelum langkah-langkah lain pada pipeline dilakukan.

Pre-commit framework sangat berguna dalam memastikan kualitas dan standar kode pada repository. Dalam artikel ini, kita telah membahas cara penggunaannya dari instalasi hingga integrasi dengan CI pipeline. Dengan pre-commit, tim pengembang dapat memastikan setiap commit memenuhi standar yang ditetapkan dan mencegah terjadinya masalah atau bug. Namun, perlu diingat untuk menambahkan plugin yang sesuai, menjalankan pre-commit secara teratur, dan menonaktifkan dengan bijak. Penggunaan pre-commit dapat meningkatkan kualitas dan efisiensi dalam melakukan pengecekan kode.

--

--