zoukankan      html  css  js  c++  java
  • Docker搭建内网 composer satis 代码仓库

    搭建composer内网代码仓库

    拉取 composer/satis 镜像

    docker pull composer/satis
    

    配置 composer

    该步骤可跳过

    目录结构

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

    构建模块扩展

    目录结构

    ├── 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"
        }
    }
    
    关键词 描述
    repositories 指定去哪获取包
    require 指定获取哪些包,如果想获取所有包,使用require-all: true
    archive.directory output-dir 即使build的输出目录
    archive.format 可选,默认:zip, 支持两种压缩格式:ziptar。build时采用的压缩格式
    archive.skip-dev 可选,默认情况下为false,启用时(true)satis不会为分支机构创建下载
    archive.prefix-url 可选的下载位置,主页(来自satis.json),默认情况下是目录

    官网说明:https://docs.phpcomposer.com/articles/handling-private-packages-with-satis.html

    GitHub代码:https://github.com/composer/satis

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

    增加快捷访问

    编辑文件: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'
    

    用法

    # 构建所有代码仓库模块
    sh satis.sh
    
    # 安装指定模块
    sh satis.sh zhanghuizong/composer_satis_test
    

    注意

    指定模块安装,repositories 节点中必须配置 name 字段,同时与 require 节点配置对应上

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

  • 相关阅读:
    Vue请求参数转换(qs的使用---对象序列化)
    Vue中使用async/await解决异步请求问题
    数据结构:set
    数据结构:map (不是数组的map方法)
    数组方法-reduce 和 ES6扩展运算符
    数据分析相关
    Hadoop委任和解除节点
    Oozie调度Sqoop报错
    Oozie调度Sqoop的两种方式
    MySql数据表直接到Hive表操作
  • 原文地址:https://www.cnblogs.com/zhanghuizong/p/12693303.html
Copyright © 2011-2022 走看看