Molte volte può capitare di avere bisogno di utilizzare delle proprie librerie private nei progetti nei quali si sta lavorando.
Ad esempio, state lavorando ad un vostro progetto non open-source che utilizza un’altra vostra libreria che per ragioni di dominio non può essere anch’essa open-source.
Per fare ciò esiste Packagist, come per tutte le librerie esterne utilizzate da composer, che permette di avere librerie private ma a pagamento.
In alternativa si può utilizzare Bitbucket che permette di avere repository privati gratuitamente.

Per includere un repository privato da Bitbucket, si può utilizzare Composer aggiungendo queste linee di codice al file composer.json

"repositories":[
    {
        "type": "vcs",
        "url" : "git@bitbucket.org:yourName/yourRepository.git"
    }
]

VCS indica il sistema di controllo della versione, ad esempio git, svn, fossil o hg. Composer ha un tipo di repository per l’installazione di pacchetti da questi sistemi.

Se ora lanciate composer install, la console vi chiederà una Consumer key.
Questa richiesta non è un grosso problema da sopperire, ma se utilizzate un sistema di continuous integration, o il vostro sistema di deploy lancia il comando composer install, è necessario utilizzare un sistema automatico che inserisca autonomamente la consumer key o utilizzare qualche script magico che lo faccia.

Quindi, per evitare questo problema, si può andare su Bitbucket, nel progetto in cui si vuole includere la vostra libreria privata, generare una chiave SSH e copiare la chiave pubblica come nell’immagine sotto.

Subito dopo entrate nella vostra libreria su Bitbucket e aggiungete una access key incollando la chiave pubblica copiata in precedenza come nell’immagine sottostante.

Ora, se si lancia composer install, qualsiasi richiesta che arriva nella propria CLI viene risolta automaticamente e si può avere un sistema di deploy pulito automatico e perfetto.

Alessandro Minoccheri
Written by Alessandro Minoccheri