搭建packagist私服和composer
1.下载源码
https://github.com/composer/packagist
2.修改配置文件
cp app/config/parameters.yml.dist
app/config/parameters.yml
数据库的信息填写以下,github的key填写一下(我是随意写的)
3.安装composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
4.安装intl扩展
wget http://download.icu-project.org/files/icu4c/53.1/icu4c-53_1-src.tgz
tar -xzf icu4c-53_1-src.tgz
cd icu/source
./configure –prefix=/usr/local/icu
make
make install
pecl install intl
5.下载packagist依赖
因为packagist的项目也是用composer管理的所以这里运行一下composer install就可以了
6.建立数据库和部署WEB
app/console doctrine:schema:create
app/console assets:install web
7.修改NGINX conf
location ~ ^/(css|js|font|js|bundles)/ {
root /home/deploy/packagist/web;
}
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
root /home/deploy/packagist/web;
fastcgi_pass 10.83.68.139:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index app.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
8.提交你的REPO
访问 http://localhost/app.php 注册账号,输入你的git的repo地址,我这里用的是自己搭建的gitlab,所以地址填写的是gitlab的地址,提交的的项目需要有composer.json文件提供项目信息,格式在这里 https://getcomposer.org/doc/04-schema.md
注意:
(1).确保可以使fpm的用户可以git clone代码,需要配置deploy key
(2).你自己的项目如果想应用composer首先你提交到packagist的项目的类命名规范要符合PSR-0或者PSR-4,如果不符合就只能用CLASSMAP了,项目当与每次BUILD的时候生成一次CLASS和FILE的对应关系,以后根据这个来加载,从官方的项目上来看大多数都是PSR-0这种规则
9.修改composer的配置文件,从你的packagist私服拉包
提交到packagist中的项目都加上这句
"repositories": [
{"type": "composer", "url": "http://localhost"}, //composer这里会自动去找http://localhost/packags.json这个文件
{"packagist": false} //不从源拉包
]
10.composer 推进了PHP代码规范的统一
composer不仅仅是一个打包工具,他还按照PSR的规范,统一了PHP代码的加载规则,使得所有packagist中的PHP项目有了唯一的项目名,类的命名空间等,可以在这些项目之间互相引用。
搭建packagist私服和composer的更多相关文章
- 用nexus搭建maven私服
首先介绍一下背景,公司访问外网有限制,项目组大部分人员不能访问maven的central repository,因此在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到这台私服上 环 ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
- Maven-004-使用 Nexus 搭建 maven 私服
从去年至今,自己一直在学习自动化测试工具,想利用自动化工具尽可能的将重复的.关键的.耗时耗力的工作实现自动化,减轻日常测试工作,提升测试效率.在学习的过程中,将 maven 作为了项目开发管理工具,进 ...
- Maven学习总结(九)——使用Nexus搭建Maven私服
一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建n ...
- Ubuntu server下搭建Maven私服Nexus
Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...
- Linux_Centos中搭建nexus私服
1.在Linux下搭建Nexus私服 1).下载并且解压 下载 nexus-2.11.2-03-bundle.zip unzip nexus-2.11.2-03-bundle.z ...
- Maven使用笔记(五)Sonatype Nexus 搭建Maven 私服
1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地, 而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载 ...
- Maven——使用Nexus搭建Maven私服
原文:http://www.cnblogs.com/xdp-gacl/p/4068967.html Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要 ...
随机推荐
- python数据类型,格式话输出
一.程序交互 name = input(“你的名字是:”) #用户输入,输入的任何东西都存储成str(字符串类型)的形式 二.注释的重要性 以后动辄几千行代码的时候,回过头再去看的时候,发现自己都看不 ...
- rsync 问题总结
Rsync服务常见问题汇总讲解:==================================1. rsync服务端开启的iptables防火墙 [客户端的错误] No route to ...
- 智能手表ticwatch穿戴体验
前言 可穿戴设备近几年越来越火,最开始是谷歌眼睛.手环,再到手表.VR眼镜,相信未来几年这片领域依旧火热~ 自从谷歌发布Android Wear.苹果发布Apple Watch之后,智能手表的战役就正 ...
- svn server配置与TortoiseSVN、Ankhsvn+VS使用
Svn服务器与客户端安装 1. 下载安装VisualSvn-Server服务端.(过程略)http://subversion.apache.org/packages.html 2. ...
- Spark 概念学习系列之从spark架构中透视job(十六)
本博文的主要内容如下: 1.通过案例观察Spark架构 2.手动绘制Spark内部架构 3.Spark Job的逻辑视图解析 4.Spark Job的物理视图解析 1.通过案例观察Spark架构 s ...
- (转)Unity 之 UGUI 小总结
转自:http://www.jianshu.com/p/5b6f5022662e 开发过程中对UGUI的一个小总结. 首先从原画师拿到效果图,美术切图,拿到碎图后打成大图. 我们先来说一下图:RGBA ...
- C#下查找并杀死子进程(进程树)
参考:如何杀死进程及子进程 /** * 传入参数:父进程id * 功能:根据父进程id,杀死与之相关的进程树 */ public static void KillProcessAndChildren( ...
- ACdream 1099——瑶瑶的第K大——————【快排舍半,输入外挂】
瑶瑶的第K大 Time Limit:2000MS Memory Limit:128000KB 64bit IO Format:%lld & %llu Submit Status ...
- HDU 4027—— Can you answer these queries?——————【线段树区间开方,区间求和】
Can you answer these queries? Time Limit:2000MS Memory Limit:65768KB 64bit IO Format:%I64d & ...
- LintCode刷题小记491
题目: 判断一个正整数是不是回文数. 回文数的定义是,将这个数反转之后,得到的数仍然是同一个数. 样例: 11, 121, 1, 12321 这些是回文数. 23, 32, 1232 这些不是回文数. ...