Konfigurasi Github Action CI/CD untuk Laravel
•
3 min read
Kali ini kita akan membuat konfigurasi ci/cd pada github.com untuk aplikasi laravel
Petunjuk jika menggunakan tools laravel envoy
- sudah melakukan setup server seperti yg dijelaskan article ini
- sudah melakukan konfigurasi laravel envoy seperti yg dijelaskan article ini
- buka repository menu
settings -> secrets -> menu - tambahkan secret baru
SSH_PRIVATE_KEYvalue nya ambdil dariprivate key private keydilocal bisa lihat file inicat ~/.ssh/id_rsa- tambahkan secret baru
SSH_HOSTvalue nya isi alamat ip server - tambahkan deploy keys dengan menggunakan
public key(optional) public keydilocal bisa lihat file inicat ~/.ssh/id_rsa.pubprivate key / public keyjika belum ada, bisa generate secara manual dengan perintahssh-keygenlalu enter sampai selesai- buat folder baru
.github/workflowsdi laravel app root dir - buat file baru
deploy.ymldiworkflowsfolder - edit file
deploy.ymltambahkan ini:
name: deploy
on:
push:
branches: [test]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
tools: composer:v2
coverage: none
- name: Install Composer dependencies
run: composer update
- name: Setup SSH
uses: kielabokkie/[email protected]
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh-host: ${{ secrets.SSH_HOST }}
- name: Deploy Environment
run: ./vendor/bin/envoy run deploy
Setial kali ada push code push ke branch master maka proses ci/cd akan berjalan
Petunjuk jika menggunakan tools Deployer
- sudah melakukan setup server seperti yg dijelaskan article ini
- sudah melakukan konfigurasi laravel menggunakan deployer seperti yg dijelaskan article ini
- buka repository menu
settings -> secrets -> menu - tambahkan secret baru
SSH_PRIVATE_KEYvalue nya ambdil dariprivate key private keydilocal bisa lihat file inicat ~/.ssh/id_rsa- tambahkan secret baru
SSH_HOSTvalue nya isi alamat ip server - tambahkan deploy keys dengan menggunakan
public key(optional) public keydilocal bisa lihat file inicat ~/.ssh/id_rsa.pubprivate key / public keyjika belum ada, bisa generate secara manual dengan perintahssh-keygenlalu enter sampai selesai- buat folder baru
.github/workflowsdi laravel app root dir - buat file baru
deploy.ymldiworkflowsfolder - edit file
deploy.ymltambahkan ini:
name: deploy
on:
push:
branches: [master]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
tools: composer:v2
coverage: none
- name: Install Composer dependencies
run: composer update
- name: Deploy
uses: deployphp/action@v1
with:
private-key: ${{ secrets.SSH_PRIVATE_KEY }}
dep: deploy production -v
Setial kali ada push code push ke branch master maka proses ci/cd akan berjalan
