Construire l'entrepôt de code intranet composer
Extraire l'image composer/satis
docker pull composer/satis
Copier après la connexion
Configurer composer
Cette étape peut être ignorée
Structure du répertoire
├── auth.json ├── cache │ ├── files │ ├── repo │ └── vcs ├── composer.json └── config.json
Copier après la connexion
composer.json
{ }
Copier après la connexion
config.json
{ "config": { "secure-http": false, "optimize-autoloader": false, "preferred-install": "dist", "sort-packages": true, "platform": { } }, "repositories": { "packagist": { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" } } }
Copier après la connexion
Extension du module de construction
Structure du répertoire
├── config.json ├── public │ ├── dist │ │ ├── bpc │ │ └── zhanghuizong │ ├── include │ │ └── all$f3811758e4611a4dfc1a96f4d1c06da09cdbe199.json │ ├── index.html │ └── packages.json └── satis.sh
Copier après la connexion
config.json
{ "name": "composer_satis_test", "homepage": "http://local.satis.com", "repositories": [ { "type": "git", "name": "zhanghuizong/composer_satis_test", "url": "https://gitee.com/zhanghuizong/composer_satis_test.git" } ], "require": { "zhanghuizong/composer_satis_test": "*" }, "archive": { "directory": "dist", "format": "tar", "skip-dev": true, "prefix-url": "http://local.satis.com" } }
Copier après la connexion
Mots clés | Description |
---|---|
référentiels | Spécifiez où obtenir les packages |
require | Spécifiez les packages à obtenir Si vous souhaitez obtenir tous les packages, utilisez require-all : true |
archive.directory | output-dir même le répertoire de sortie. répertoire de sortie du build |
archive.format | Facultatif, par défaut : zip, prend en charge deux formats de compression : zip, tar. Le format de compression utilisé lors de la construction de |
archive.skip-dev | Facultatif, faux par défaut, lorsqu'il est activé (vrai) satis ne créera pas de téléchargements pour les branches |
archive.prefix-url | Emplacement de téléchargement facultatif, page d'accueil (depuis satis.json), par défaut le répertoire |
Description officielle du site : https://docs.phpcomposer.com/articles/handling-private-packages-with-satis.html
Code GitHub : https : //github.com/composer/satis
script shell
satis.sh
#!/usr/bin/env bash docker run --rm --init -it -v "$(pwd)"/config.json:/satis.json:ro \ -v "$(pwd)"/public/:/build \ -v /mnt/d/workspaces/docker-config/composer/:/composer \ composer/satis build /satis.json /build "$@"
Copier après la connexion
Ajouter un accès rapide
Modifier le fichier : vi ~/.bashrc
alias satis='docker run --rm --init -it -v "$(pwd)"/config.json:/satis.json:ro -v "$(pwd)"/public/:/build -v /mnt/d/workspaces/docker-config/composer/:/composer composer/satis build /satis.json /build'
Copier après la connexion
Usage
# 构建所有代码仓库模块 sh satis.sh # 安装指定模块 sh satis.sh zhanghuizong/composer_satis_test
Copier après la connexion
Note
Pour spécifier l'installation du module, le Le champ de nom doit être configuré dans le nœud des référentiels et correspondre à la configuration du nœud requise
configuration nginx
server { listen 80; server_name local.satis.com; root "/data/httpd/docker-config/composer_satis/test/public/"; location / { index index.php index.html; } location ~ \.php(.*)$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
Copier après la connexion