Hai semuanya, di materi study kasus kali ini kita akan membahas Build Pipeline untuk PHP menggunakan Gitlab CI, source-code yang kita gunakan berdasarkan study kasus sebelumnya yaitu seperti berikut.

Pipeline yang kita akan buat diantaranya:

  1. Build Docker image
  2. Push to docker registry

Ok langsung aja, kita buat file .gitlab-ci.yml seperti berikut:

Setelah itu, kita buat repository baru di Gitlab dan kemudian push source-code kita ke sana. maka hasilnya seperti berikut:

source-code

Kemudian, kita buat git tag bisa melalui command line atau pun gitlab seperti berikut:

git tag -a <tag-version> -m "your-tag-message"

git push origin main --tags

Jika dijalankan maka hasilnya seperti berikut:

 docker git:(main)  git tag -a 2021.11.27.14.01-release -m "first deploy with gitlab ci"

 docker git:(main) git push demo main --tags
info: detecting host provider for 'http://192.168.88.10/'...
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 16 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (10/10), 2.46 KiB | 2.46 MiB/s, done.
Total 10 (delta 0), reused 6 (delta 0), pack-reused 0
To http://192.168.88.10/root/udemy-php.git
 * [new tag]         2021.11.27.14.01-release -> 2021.11.27.14.01-release

Setelah itu kita bisa check di pipeline, apakah buildnya sukses?? seperti berikut

success-build-docker-image

Kemudian jika kita coba check di Nexus OSS, maka docker imagenya sudah tersimpan/pushed seperti berikut

nexus-image

Sekarang jika kita coba running, imagenya dengan perintah seperti berikut:

docker run -d -p 8080:80 192.168.88.9:8086/udemy/study-cases/php:latest

Maka hasilnya seperti berikut:

docker-run