packagist composer包发布自动同步到gitee - push时自动触发WebHook

 packagist包的发布过程
【1】.创建仓库并添加代码(git init、git add)
【2】.创建composer.json文件(composer init)
【3】.提交代码到线上git仓库,如github、码云gitee等,也可自已搭建仓库(git commit、git push)
【4】.在packagist平台提交上面建好的git版本库
【5】.配置webhook实现push代码时自动更新到packagist平台市面上教的很多都是github的,但是国内访问速度还是有些限制。
第1-4步很多网上有教程,就不介绍了,本文主要是介绍第5步 ,如果让gitee仓的代码自动同步packagist平台
所以此次背景 就是自动同步到 国内的gitee 上,速度也是很快的
此次就是为了实现gitee仓 push代码时自动触发packagist平台update
(PS: 在packaglist具体仓上会不显示自动更新,但push gitee仓 会自动实现更新)packagist平台目前只对接了“GitHub Hook”和“Bitbucket Webhooks”这两个平台,这两个平台可直接在个人中心webhooks页设置实现自动更新。
至于其它的git平台,由于发送和接收的协议格式多样,不能一一对接,所以提供了update-package接口,让我们自己通过服务器转发方式实现 通过packagist官方文档提供的方式,可以实现此功能。
update-package接口:

Request URL:https://packagist.org/api/update-package?username=xxxxx&apiToken=API_TOKEN
Method:POST
Content-Type:application/json
Body:{"repository":{"url":"PACKAGIST_PACKAGE_URL"}}

其中 三个 参数
username  是自己在packagist的用户名
API_TOKEN 是packagist平台个人中心可获得 (https://packagist.org/profile/)

PACKAGIST_PACKAGE_URL:是packagist包的全地址,如:
https://packagist.org/packages/liukuaizhuan/phpgrace120以gitee.com平台为例,用PHP实现此自定义的接口,代码:
接口编写好了,找个线上服务器放上去,记下URL,比如:http://xxxx.com/GiteeByPushAutoUpdaePackagist.php
文件放在服务器上后,我们来设置gitee上面的webhook:
打开gitee的需要设置的仓库页面,点击 “管理” -> WebHooks -> 添加WebHooks:

 

URL地址的地方填写我们转发代码的地址:http://xxxx.com/GiteeByPushAutoUpdaePackagist.php
webhook密码是为了防止其它非授权的调用,可自行设置,如代码里我们设置成了:123456添加好了以后可以看到右下角有个这样的工具,点击测试看结果:

 

 

这样就可以了。 
可以在gitee上push代码 ,就会自动同步packagist  (有时候会有些更新慢的情况,正常的)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部