Rabu, 22 Januari 2020

Composer Satis

Satis
satis merupakan fitur dari composer untuk generate statis repository. Seperti packagist dengan bentuk yang lebih sederhana. Kemudahan dari satis ini adalah

  1. Menghindari download package secara berulang dilingkungan pengembangan yang sama
  2. Menghindari perbedaan versi package
  3. Dapat menyimpan library khusus untuk perusahaan tanpa ditampilkan ke publik
Cara instalasi satis dengan menggunakan CLI

composer create-project composer/satis --stability=dev --keep-vcs

Setting repository

Selanjutnya anda perlu mengetahui repository apa yang akan disimpan, semisal saya ingin membuat project dari zendframework skeleton maka saya perlu menyiapkan package zendframeworknya dan zend framework zkeletonnya. Pertama buatlah file satis.json didalam directory satis dan isikan


{
  "name":"dimas/repository",
  "homepage":"http://localhost:8888",
  "repositories":[
    {
      "type":"composer",
      "url":"https://repo.packagist.org"
    }
  ],
  "require":{
    "zendframework/zendframework":"^3.0"
  }
}

selanjutnya di folder yang sama build satis.jsonnya

php bin/satis build satis.json web/

Selanjutnya setelah dibuild, jalankan webnya dengan masuk folder web


php -S localhost:8888

Setelah jalan, anda dapat melihat hasil repositorynya.

Catatan: Jika ingin mengupdate satis, dapat langsung ditambahkan di file satis.json nya

Di sisi client

Untuk client yang ingin install zendframework skeleteon:

Pertama download zip file zendframework-skeletonnya:

setelah selesai, unzip dan masuk ke dalam foldernya.

Hapus composer.lock dan edit composer.json

Tambahkan :


{
 "repositories":[
    {
      "type":"composer",
      "url":"http://localhost:8888"
    }
  ],
  "config":{
    "secure-http":false
  }
}

Lalu jalankan 

composer install

Maka akan terinstall folder vendor nya

Selanjutnya anda dapat menambahkan package baru dengan satis

composer require zendframework/zend-db


Pastikan, anda mengecek hasil dari zend-db di composer.json berasal dari local repository