Hallo, Kali ini saya akan sharing mengenai CI/CD lagi, sebelumnya saya sudah share mengenai deploy laravel dengan CI/CD gitlab. secara tujuan sama yaitu melakukan otomatisasi deploy aplikasi laravel ke server dengan CI/CD. Menurut saya perbedaan dari CI/CD gitlab dan CI/CD github itu terletak pada susunan directory CI/CD, kemudian dari model file yml, dan juga runner jika menggunakan self-hosted atau runner local. tetapi secara flow sama saja.
Hal yang perlu disiapkan
- Sudah memiliki akun github.com dan sudah memiliki repositoy laravel
- Aplikasi sudah di install sebelumnya di server dan sudah berjalan
- Setelah itu akan muncul tahapan untuk instalasi runner, pastikan
sesuai dengan system operasi yang akan digunakan, disini say amenggunakan linux
ubuntu.
- Ikuti sesuai tahapan yang terdapat pada github, jika berhasil maka tampilanya akan seperti pada gambar berikut
- Jika sudah berhasil jalankan ./run.sh maka runner akan
berjalan. Pastikan runner sudah terbaca di github.com seperti pada gambar
berikut
Optional, jika ingin runner berjalan diebalakang layer atau
ingin berjalan terus tanpa berhenti bisa menggunakan systemd nano /etc/system/system/github-runner.service
|
#
/etc/systemd/system/github-runner.service [Unit] [Service] [Install] |
|
#sudo
systemctl daemon-reload |
Langkah #2 : Tambahkan ssh-key ke github
- Buat ssh-key jika belum ada
|
ssh-keygen -t
ed25519 -C "github-deploy" |
- Salin public key (~/.ssh/id_ed25519.pub) ke server:
|
ssh-copy-id
-i ~/.ssh/id_ed25519.pub user@your-server-ip |
- Tambahkan private key (~/.ssh/id_ed25519) ke:
- GitHub
Repo > Settings > Secrets and variables > Actions > Secrets
- Tambahkan
secret dengan nama: SSH_PRIVATE_KEY
Langkah #3 : Buatlah file yml dan tempakan pada directory .github/worflows/deploy.yml,
lalu isikan dengan perintah berikut
|
name: Deploy
Laravel via SSH
jobs: steps: - name: Set up SSH key - name: Deploy to Server |
Untuk susunan lokasi file pada github seperti ini, dan dalam worflos bisa membuat beberapa proses selain deploy.yml, misalkan scan.yml dll.
Langkah #4 : update perubahan ke repository agar dapat berjalan dengan proses
ci/cd dari github-action, lalu cek proses deploy pada menu Action
- Jika prosesnya berhasil makan akan centang hijau, dan aplikasi di server akan update sesuai dengan versi yang ada di repository.
Mudah-mudahan bermanfaat. sekian dan terimakasih

0 Komentar