Pengaturan Notifikasi E-Mail pada Gitlab Server

“Us, tolong oprek Gitlab server dong supaya bisa kirim notifikasi E-Mail setiap kali ada yang buat issue baru atau balas issue. Itu nge-bantu banget buat gue” Ucap salah seorang teman saya

Mendapat permintaan seperti itu, saya pun langsung meluncur ke dalam Gitlab server tersebut dan mencoba untuk mengonfigurasi ulang aplikasi tersebut agar memunculkan fitur yang dibutuhkan oleh teman saya itu.

Dan berikut ini adalah konfigurasi yang saya lakukan agar memunculkan notifikasi e-mail tersebut.

*Catatan:

  • Dalam tutorial kali ini saya menggunakan mail server sendiri yang sudah ada sebelumnya. Jadi sebelum mencoba konfigurasi ini, pastikan kalian sudah memiliki mail server sendiri (saya tidak menggunakan gmail). 
  • Gitlab yang saya gunakan adalah versi 12.9.2 (Community Edition) dengan menggunakan omnibus package

Tahapan Konfigurasi

  1. Backup Aplikasi
    Sebelum melakukan perubahan, biasakan untuk melakukan backup terlebih dahulu. Bila menggunakan virtualisasi, kalian bisa mengambil snapshot-nya terlebih dahulu. Namun bila kalian menggunakan server fisik, kalian bisa melakukan backup Gitlab server dengan menjalankan perintah berikut di terminal:

    sudo gitlab-backup create
    Creating backup

    Bila tidak melakukan perubahan terhadap file gitlab.rb, maka hasil backup secara otomatis akan tersimpan di /var/opt/gitlab/backups

    beberapa file backup yang berhasil dilakukan
  2. Backup Konfigurasi 
    Pada gambar nomor 1 sudah dijelaskan kalau proses backup yang dilakukan hanyalah backup aplikasi dan tidak melakukan backup terhadap file konfigurasi (gitlab-secrets.json dan gitlab.rb).
    Untuk melakukan backup terhadap file konfigurasinya, jalankan perintah berikut di terminal:

    sudo gitlab-ctl backup-etc <directory>
    backup konfigurasi
    Contoh hasil backup file konfigurasi

    Sangat direkomendasikan untuk menyimpan hasil backup dari file konfigurasi ini di tempat yang aman. Bila kalian tidak menggunakan opsi <directory> seperti yang saya lakukan, maka file tersebut secara otomatis akan tersimpan di /etc/gitlab/config_backup/ (direktori dan hasil backup hanya bisa diakses oleh user root)

    Kenapa kalian harus mem-backup file konfigurasi ini? File gitlab-secrets.json dan gitlab.rb menyimpan keys untuk enkripsi database yang memproteksi data sensitif di SQL database seperti 2 factor authentication dan juga Gitlab CI. Bila tidak mem-backup-nya, maka user akan kehilangan akses ke Gitlab server dan ‘secured variables’ yang tersimpan di Gitlab CI akan hilang ketika kalian me-restore aplikasi.

    Silakan pisahkan lokasi backup konfigurasi dan aplikasi untuk mencegah bila pencurian data terjadi.

  3. Pengaturan SMTP
    Sekarang adalah waktunya pengaturan SMTP Server. Seperti yang sudah saya jelaskan sedikit di awal, saya tidak menggunakan Gmail, Yahoo, AWS Workmail, atau aplikasi semacamnya, melainkan menggunakan mail server yang dibangun sendiri.
    Untuk melakukan konfigurasi tersebut, ubah baris yang ada pada /etc/gitlab/gitlab.rb menjadi seperti berikut:

    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "<alamat smtp server>"
    gitlab_rails['smtp_port'] = "<port smtp>"
    gitlab_rails['smtp_user_name'] = "<user smtp>"
    gitlab_rails['smtp_password'] = "<password smtp>"
    gitlab_rails['smtp_domain'] = "<domain smtp>"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    Pengaturan SMTP

    Untuk E-Mail yang akan mengirimkan pesan, kalian bisa mengubahnya seeprti berikut:

    gitlab_rails['gitlab_email_enabled'] = true
    gitlab_rails['gitlab_email_from'] = '<alamat email>'
    gitlab_rails['gitlab_email_display_name] = '<nama yang muncul>'
    gitlab_rails['gitlab_email_reply_to'] = '<alamat email>'
    Pengaturan email dan nama pengirim

    Sampai tahap ini konfigurasi sudah berhasil dilakukan. Namun ada satu hal yang perlu diingat. Untuk bagian smtp_password jangan menggunakan delimiter yang digunakan dalam ruby dan YAML (contohnya: ‘tanda petik satu’). Hal tersebut untuk mencegah kejadian tak terduga saat memproses file pengaturan ini.

  4. Rekonfigurasi
    Setelah perubahan pada gitlab.rb dilakukan, sekarang adalah waktunya untuk menjalankan konfigurasi baru tersebut. Cara menjalankannya adalah dengan mengetikkan perintah berikut:

    sudo gitlab-ctl reconfigure
    rekonfigurasi

    Biarkan proses rekonfigurasi selesai. Pada proses inilah kalian bisa melihat perubahan yang kalian lakukan pada file gitlab.rb. Biasanya perubahan yang kalian lakukan akan memberikan warna yang berbeda.

    Perubahan yang terjadi bisa dilihat di sini
  5. Pengujian
    Usai rekonfigurasi berhasil dilakukan, tahapan selanjutnya adalah pengujian. Untuk mengujinya, Gitlab Server sudah menyiapkan sebuah perintah dari console, jadi kalian masih akan melakukannya di terminal. Jalankan perintah:

    sudo gitlab-rails console

    Jika perintah tersebut sudah dimasukkan, berikutnya adalah memasukkan baris perintah berikut agar Gitlab mengirimkan E-Mail pengujian:

    Notify.test_email('<alamat email yang dituju>', '<Subjek pesan>', '<isi pesan>').deliver_now
    Contoh uji coba pengiriman email dan berhasil

    Bukti dari mail server kalau pengiriman yang dilakukan berhasil

Pengaturan Notifikasi

Konfigurasi SMTP sudah berhasil dilakukan, sekarang waktunya untuk memberi pengaturan mengenai notifikasi apa saja yang akan diterima di E-Mail. Tahapannya adalah sebagai berikut:

  1. Sign In
    Silakan kalian masuk ke dalam akun Gitlab kalian. Setelah masuk, pilih avatar username (di pojok kanan atas) → settings → notifications. Pada bagian Notification E-Mail, masukkan E-Mail yang ingin kalian gunakan untuk menerima notifikasi.

    Tahapan pengaturan notifikasi

    Di bagian bawah Notification E-Mail, Pilih watch pada bagian Global notification level dan jangan lupa centang ‘Receive notifications about your own activity’.

    Pilihan watch berarti kalian akan menerima notifikasi untuk aktivitas apapun yang terjadi pada suatu project dimana kalian terlibat. Sedangkan pilihan check box berarti kalian pun akan menerima notifikasi atas kegiatan yang kalian lakukan sendiri.

  2. Project
    Berikutnya kalian akan memilih project dimana kalian akan menerima notifikasi. Pilih Gitlab → Project kalian

    Pilih Project

    Selanjutnya kalian akan membuat issue. Pilih issues → new issues

    Membuat issue baru

    Jika sudah, silakan buat judul issue barunya, deskripsi issue, dan siapa yang ditugaskan untuk menangani issue tersebut.

    Issue baru

    Issue sudah berhasil dibuat. Sekarang tinggal menunggu adanya notifikasi yang masuk ke dalam E-Mail.

    Issue berhasil dibuat
  3. Notifikasi E-Mail Masuk
    Notifikasi sudah masuk dan itu tandanya semua konfigurasi sudah selesai dan berjalan dengan lancar.

    Pesan sudah masuk

*****

Itu tadi sedikit informasi mengenai pengaturan notifikasi email di Gitlab server. Semoga informasinya cukup jelas dan berguna ya 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *