博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建自己的composer包并设置自动同步github
阅读量:3989 次
发布时间:2019-05-24

本文共 2153 字,大约阅读时间需要 7 分钟。

登录github,创建自己的仓库 composer-test

值得一提的是,Packagist可以创建私有包,github也能创建私有仓库。

复制仓库地址:

https://github.com/phprao/composer-test

cd /data/www mkdir -p my-packages/composer-testcd my-packages/composer-testgit init git remote add origin https://github.com/phprao/composer-test.gitgit pull origin mastercomposer init

就可以看到生成的composer.json

做适当的编辑,比如:

{
"name": "phprao/composer-test", "description": "composer-test", "license": "MIT", "require": {
"php": ">=7.2" }}

mkdir -p src/Interfaces

编写类 vi src/Interfaces/CalculatorServiceInterface.php

目录结构为:

.|-- composer.json|-- LICENSE|-- README.md`-- src    `-- Interfaces        `-- CalculatorServiceInterface.php

于是,需要修改composer.json设置autoload

{
"name": "phprao/composer-test", "description": "composer-test", "license": "MIT", "require": {
"php": ">=7.2" }, "autoload": {
"psr-4": {
"Phprao\\ComposerTest\\": "src/" } }}

提交代码到github仓库

git add ./git commit -m 'init'git push -u origin master

来到 https://packagist.org/ 注册并登录,或直接使用github账号登录。

点击submit提交自己的Package

需要输入的代码的线上托管地址,git, svn, github, gitee等,只要能拉取到你的代码就可以。
输入 https://github.com/phprao/composer-test
点击提交就可以了。

设置 Github Hook ,这样当github代码发生改动,会自动同步到Packagist,否则需要在 packagist.org 手动来更新。

参考文档:https://packagist.org/about#how-to-update-packages
有两种方式:
1、在packagist授权绑定github账号。
2、在github操作,授权连接packagist。

我选择第一种

进入个人中心 setting 授权绑定你的github账号。成功之后在 profile 中就能看到Hook信息。
在这里插入图片描述

然后进入github 的 composer-test 仓库,点击settings --> Webhooks 就看到多出一个webhook信息。至此,自动update也设置成功了。

在这里插入图片描述

测试一下,修改 CalculatorServiceInterface.php 文件并提交到github。

回到 packagist 进入 composer-test 包,在右下角可以看到自动更新提示

在这里插入图片描述

拉取

composer require phprao/composer-testcomposer require phprao/composer-test=v1.0.1

报错

Error while installing phprao/composer-test, composer-plugin packages should have a class defined in their extra key to be usable

这是因为composer会去拉取最新的release版本,而我还没有给 composer-test 设置版本,去到github添加一个release和tag。

至此你就需要开始关注 composer-test 的版本问题了,你每次的push并不会自动整合到最新的版本里去,多次push之后可以考虑去到github创建一个版本,这样packagist中也会多出一个版本信息,composer require 就可以指定要拉取哪个版本的代码。

如果你不想打tag,那么就需要指定dev

composer require "phprao/composer-test @dev"

在这里插入图片描述

转载地址:http://rbaui.baihongyu.com/

你可能感兴趣的文章
python自动化工具之pywinauto(四)——批量转换exe视频
查看>>
python一句话之利用文件对话框获取文件路径
查看>>
PaperDownloader——文献命名6起来
查看>>
PaperDownloader 1.5.1——更加人性化的文献下载命名解决方案
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
查看>>
JVM最简生存指南
查看>>
漂亮的代码,糟糕的行为——解决Java运行时的内存问题
查看>>
Java的对象驻留
查看>>
自己动手写GC
查看>>
10个精妙的Java编码最佳实践
查看>>
Java 8新特性终极指南
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
微信产品经理和架构师们是靠什么扛住了10亿个红包
查看>>
JVM 线程堆栈分析过程详解
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>