作为程序员一定要保持良好的睡眠,才能好编程

提交自定义包到githb并设置自动composer包自动更新

发布时间:2019-04-20

项目中频繁使用的代码片段,通常会被封装成全局方法或类,以提高程序的复用性。但初始化新项目,手动引入会相对麻烦,此时可以提交到composer上实现自动安装。


1、创建composer 包

因为composer的代码都是托管在github上的所以开发者需要对git的操作相对比较熟悉。


2、操作大致步骤

1)使用github上创建应用仓库

2)使用composer在本地初始化

3)在本地开发类库并与composer建立对应关系

4)提交到github应用仓库

5)提交Github仓库地址到packagist后完成发布。



 1)使用github上创建应用仓库

现在就来看看  是如何操作的,


首先呢,需要一个github的账号和密码  

http://www.github.com


使用用户名和密码进行登录


第一、新建git仓库

登录成功以后,需要新建一个git仓库

截图40.jpg


截图41.jpg



就这样创建了一个库,如图所示

截图42.jpg


第二、克隆项目到本地


然后通过 git clone https://github.com/songyongzhan/song_tp_mailerqueue.git

下载到本地


好的,那么我们现在就是要把上传的代码 放在这里


好的 本地  src  文件夹 里就是我们要上传的类 和文件

如图所示:




那么距离我们上传还差一个文件 那么就是composer.json ,这个文件内容是:

{
	"name":"syz/cart", #这个名字是vendor目录下的目录
	"type":"tp5-extension",
	"description":"the is shop cart for thinkphp 5",
	"keywords":["thinkphp","tp","tp5","thinkphp5","cart"],
	"license":"MIT",
	"support":{
	        #这是提问的地方
		"issues":"https://github.com/songyongzhan/song_tp_mailerqueue/issues",
		"forum":"http://www.xiaosongit.com",#作者网站
		"source":"https://github.com/songyongzhan/song_tp_mailerqueue"#github地址
	},
	"authors":[
		{
		"name":"songyongzhan",
		"email":"574482856@qq.com"
		}
	],
	"require":{
		
	},
	"autoload":{
		"psr-4":{
			"syz\\":"src/"
		}
	}
}


git add --all
git commit -m '上传成功'


git push -u origin master  //推送到远程

git.jpg


进行代码提交

github.jpg


好的,到这里我们git的库准备好了




第三、打开packagist   https://packagist.org

      通过github的用户名和密码进行登录

      将来就可以通过composer下载

      

把Repository Url 地址填写上


https://github.com/songyongzhan/song_tp_mailerqueue.git


composer34.jpg

把git仓库地址填写到这里,然后点击Check,如果没有composr.json 文件是不能提交的。



截图44.jpg

找到了  The package name found for your repository is: syz/cart, press Submit to confirm.


可以直接submit 去提交了。


截图45.jpg

这是我们提交上来的,但是不会 auto_updateed 不会自动更新,需要进行设置。



截图48.jpg


点击 GitHub Service Hook 进去


截图49.jpg

curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=songyongzhan&apiToken=API_TOKEN' -d'{"repository":{"url":"PACKAGIST_PACKAGE_URL"}}'


这里看到 API_TOKEN 需要替换  

PACKAGIST_PACKAGE_URL 需要替换成 git 资源库地址

得到token 的值:

截图50.jpg


截图51.jpg


执行命令,成功

curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=songyongzhan&apiToken=TFTRGBC-VLNX-554M0eAg_Dg' -d'{"repository":{"url":"https://github.com/songyongzhan/song_tp_mailerqueue.git"}}'



截图52.jpg


好的。都没有什么问题。


那么composer中的版本号是怎么出现的呢?



截图46.jpg


通过 git tag -a v0.1.0 -m "init code"  命令  然后 推送到远程服务器上。


git push -u origin --tags


推送到 --tags   

截图54.jpg




好了以后,就在https://packagist.org/packages/syz/cart


这个地址上刷新,一会就出现以了这个版本号.


截图55.jpg



我们就可以通过composer 来进行安装了。