• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Cara Membuat Autodeploy Codeigniter di Gitlab dari Awal

Last Updated on 22 April 2020 By tommy 5 Comments

Membuat autodeploy untuk Codeigniter di Gitlab tidak susah, yang terpenting kita tau cara manual installnya, karena cara manual inilah yang akan kita jadikan acuan membuat otomatisasinya. Pembuatan autodeploy untuk bahasa PHP tidak terlalu jauh beda, tinggal disesuaikan beberapa tahap untuk masing-masing framework. Autodeploy tidak begantung ke framework, jadi bisa saja dibuat untuk native PHP.

Untuk deploy ke production server kita akan menggunakan SSH key, agar prosesnya bisa otomatis, dan cara ini yang paling aman. Beberapa hal yang perlu diketahui sebelumnya

Root folder codeigniter : /var/www/codeigniter.jaranguda.com
Domain : codeigniter.jaranguda.com
Git project : [email protected]:jarangudacom/codeigniter4.git
Script Deploy : /home/jaranguda/scripts/deploy/codeigniter.sh

Buat SSH Key Baru

Dari Linux generate key baru dengan

ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/deploy-id_rsa -q

file yang akan kita simpan di Gitlab adalah ~/.ssh/deploy-id_rsa, file ini berisi private key. Sementara untuk di server ~/.ssh/deploy-id_rsa.pub, copy isi file deploy-id_rsa.pub, letakkan didalam file ~/.ssh/authorized_keys di server anda.
isi public key ssh

Setting Konfigurasi Project

Buka Project anda gitlab, klik Settings -> CI/CD -> Variables
gitlab ci cd
klik Add Variable

Pertama
Key : SSH_PRIVATE_KEY
Value : Isi file ~/.ssh/deploy-id_rsa

Kedua
Key : IP_SERVER
Value : IP Server anda
variable ci cd gitlab

Di menu CI/CD tersebut, lihat Deploy Keys
public key gitlab
Ambil public key SSH dari server anda, isinya simpan di kolom key. Ini tujuannya agar server bisa mendownload berkas git dari project ini.

Konfigurasi di Server

Di server sendiri pastikan sudah terinstall PHP, MySQL dan Composer

Untuk pertama kali cloning repository dari gitlab, ke root folder

git clone git@gitlab.com:jarangudacom/codeigniter4.git /var/www/codeigniter.jaranguda.com

proses ini hanya perlu satu kali, karena selanjutnya agar dijalankan oleh script codeigniter.sh

git clone git@gitlab.com:jarangudacom/codeigniter4.git /var/www/codeigniter.jaranguda.com
#jalankan composer
composer install --prefer-dist --no-progress --no-suggest

di folder /var/www/codeigniter.jaranguda.com

copy env .env

edit file .env tersebut, sesuaikan dengan dibawah ini

CI_ENVIRONMENT = production
app.baseURL = 'http://codeigniter.jaranguda.com/'

Buat file baru /home/jaranguda/scripts/deploy/codeigniter.sh yang berisi

cd /var/www/codeigniter.jaranguda.com
git pull
git reset --hard origin/master
composer install --prefer-dist --no-progress --no-suggest
chown www-data:www-data -R /var/www/codeigniter.jaranguda.com/writable

File gitlab-ci.yml

Buat .gitlab-ci.yml di project anda, contoh sederhananya

image: debian:latest
 
before_script:
     - mkdir -p ~/.ssh
     - echo -e "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
     - chmod 600 ~/.ssh/id_rsa
     - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
 
deploy:
  script:
    - ssh -i ~/.ssh/id_rsa root@$IP_SERVER "bash /home/jaranguda/scripts/deploy/codeigniter.sh"

isi autodeploy gitlab

di file diatas terdapat /home/jaranguda/scripts/deploy/codeigniter.sh, file inilah yang nanti melakukan pull dari git dan deploynya.

setelah mengupdate file .gitlab-ci.yml, Gitlab pipeline akan segera jalan, dan bisa dilihat
pipeline sukses.

Buka domain anda
codeigniter yang terdeploy

Penutup

Cara ini masih sederhana, yang diutamakan adalah konsep cara membuat Auto Deploy di Gitlab. Setelah tahap ini selesai bisa ditambah dengan berbagai macam testing

Tulisan menarik lainnya

  • Membuat Drop Down/Combobox di CodeIgniter

    Membuat Combobox atau Drop Down box di CodeIgniter sungguh mudah, fleksibel dan cepat. Pertama kita…

  • Membuat Pagination di CodeIgniter 3

    Pertama kita akan membuat data dummy/data contoh untuk mempermudah pembelajaran ini. Dari CLI MySQL atau…

  • Membuat Login Sederhana di CodeIgniter 3

    Cara ini sangat-sangat sederhana, gunakan hanya untuk pembelajaran. Kekurangan login ini sangat banyak 1. Tidak…

  • Membuat Login Multi Level di CodeIgniter 3

    Tutorial ini adalah lanjutan dari Membuat Login Sederhana di CodeIgniter 3. Modifikasi Tabel Database Tambahkan…

Filed Under: Linux, PHP

Reader Interactions

Comments

  1. Muhamad Azmi says

    3 July 2022 at 21:57

    Halo mas, disini terdapat error, /bin/bash: line 134: ssh: command not found
    itu kenapa ya?

    Reply
    • tommy says

      10 July 2022 at 10:06

      coba liat code lengkapnya

      Reply
    • rendra says

      21 August 2022 at 00:44

      sama aku juga bang. bisa di bantu dong

      Reply
  2. Habibie says

    24 February 2022 at 11:42

    selamat siang, mau tanya dong bang

    kalo CI 3 itu bsa auto deploy kek gni atau tdk yaaah???

    Reply
    • tommy says

      25 February 2022 at 10:31

      Bisa, caranya mirip :D

      Reply

Leave a Reply Cancel reply

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

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.2k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.8k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.1k views
  • Cara Reset Password ZTE F609 Indihome 147.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java