Maison  >  Article  >  outils de développement  >  Créez rapidement un entrepôt de code intranet Composer

Créez rapidement un entrepôt de code intranet Composer

藏色散人
藏色散人avant
2021-08-03 15:14:392828parcourir

La colonne tutoriel compositeur vous présentera comment créer un entrepôt de code Satis de compositeur intranet avec Docker. J'espère que cela sera utile aux amis qui en ont besoin !

Créez rapidement un entrepôt de code intranet Composer

Construire l'entrepôt de code intranet composer

Extraire l'image composer/satis

docker pull composer/satis

Configurer composer

Cette étape peut être ignorée

Structure du répertoire

├── auth.json
├── cache
│   ├── files
│   ├── repo
│   └── vcs
├── composer.json
└── config.json

composer.json

{
}

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/"
        }
    }
}

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

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"
    }
}
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 "$@"

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'

Usage

# 构建所有代码仓库模块
sh satis.sh

# 安装指定模块
sh satis.sh zhanghuizong/composer_satis_test

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;
        }
}

Créez rapidement un entrepôt de code intranet Composer

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer