Body
Variante 1
Ein lokales Verzeichnis wird als Paketquelle vorgesehen:
git init --bare /srv/scm/repo1 git clone /srv/scm/repo1 ~/dev/repo1 cd ~/dev/repo1 $EDITOR composer.json git add composer.json && git commit -m "Init"
Nun müssen folgende Abschnitte in der composer.json des Hauptprojekts ergänzt werden:
{
"repositories": [
{
"type": "git",
"url": "/srv/scm/repo1"
}
],
"config": {
"preferred-install": {
"my-namespace/*": "source",
"*": "dist"
}
}
}
Anschließend kann das Projekt eingebunden werden:
composer require my-namespace/projectname:dev-master
Variante 2
Ein Hosting-Provider oder privater Server soll verwendet werden.
Folgende Informationen müssen in der composer.json des Hauptprojekts ergänzt werden:
{
"repositories": [
{
"type": "git",
"url": "git@github.com:username/projectname.git"
}
],
"config": {
"preferred-install": {
"username/*": "source",
"*": "dist"
}
}
}
Anschließend kann das Projekt eingebunden werden:
composer require username/projectname:dev-master
Besondere SSH-Konfiguration
In der Datei ~/.ssh/config wird eine Konfiguration eingetragen:
Host gitlab HostName gitlab.example.com Port 3927 ForwardX11 no
Dann lautet die Quelladresse für das Repository ssh://git@gitlab/user.name/project.git.