新闻中心
如何为你的Composer包配置自动化的发布流程_使用GitHub Actions在打tag后自动发布到Packagist
配置GitHub Actions可实现PHP Composer包在打tag后自动发布到Packagist:1. 确保包已提交至Packagist并记录用户名与API Token;2. 在Packagist页面启用Auto-update选项以支持自动拉取;3. 在项目中创建.github/workflows/publish-packagist.yml工作流文件,监听tag推送并使用php-actions/packagist-publish@v6动作通知Packagist;4. 将PACKAGIST_USERNAME和PACKAGIST_API_TOKEN存入GitHub Secrets以通过认证。完成后,每次执行git push origin v1.2.0等标签推送,都将触发自动发布流程,实现无缝版本同步。

想让你的 PHP Composer 包在打 tag 后自动发布到 Packagist?用 GitHub Actions 可以轻松实现自动化发布流程。你只需要配置好工作流,之后每次 git tag 推送到仓库时,Packagist 就会自动同步最新版本,无需手动操作。
1. 确保你的包已提交到 Packagist
自动化发布的前提是你的包已经在 Packagist.org 上注册。如果你还没提交:
- 访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19
- 登录后点击右上角 "Submit" 按钮
- 填入你的 GitHub 仓库地址(如:
yourname/your-package) - 提交后 Packagist 会抓取
composer.json并创建条目
注意:如果你使用的是 Packagist.com(私有包平台),步骤类似,但需确保项目已正确关联。
2. 在 Packagist 中启用自动更新(Webhook)
Packagist 支持通过 Webhook 自动拉取新版本。虽然 GitHub Actions 能主动通知,但开启这个更稳妥。
- 进入你的包在 Packagist 的页面
- 点击右上角的“Manage”按钮
- 勾选 “Auto-update” 选项
这样每次推送 tag,Packagist 都会尝试拉取最新代码。
3. 创建 GitHub Actions 工作流文件
在你的项目根目录创建 .github/workflows/publish-packagist.yml 文件:
Mistral AI
Mistral AI被称为“欧洲版的OpenAI”,也是目前欧洲最强的 LLM 大模型平台
182
查看详情
name: Publish to Packagist
on:
push:
tags:
- 'v*' # 匹配 v1.0.0 这类标签
- '*' # 或者任意 tag 都触发

jobs: publish: runs-on: ubuntu-latest steps:
- name: Notify Packagist uses: php-actions/packagist-publish@v6 with: username: ${{ secrets.PACKAGIST_USERNAME }} apiToken: ${{ secrets.PACKAGIST_API_TOKEN }} repository: ${{ github.repository }}
这个工作流会在你推送任何 tag 时触发,并通知 Packagist 更新。
4. 添加 Packagist 凭据到 GitHub Secrets
为了安全地调用 Packagist API,你需要将凭据保存为 GitHub Secrets:
- 进入 GitHub 仓库的 Settings > Secrets and variables > Actions
- 添加两个密钥:
PACKAGIST_API_TOKEN → 在 Packagist 的 API Tokens 中生成的 token
API Token 获取路径:登录 Packagist → 点击头像 → API Tokens → 生成新 Token。
完成后,每次运行 git tag v1.2.0 && git push origin v1.2.0,GitHub Actions 就会自动通知 Packagist 更新版本。
基本上就这些。不复杂但容易忽略的是权限和标签格式匹配。确保 tag 被正确推送,且 secrets 命名无误。自动化之后,发版就像提交代码一样自然了。
以上就是如何为你的Composer包配置自动化的发布流程_使用GitHub Actions在打tag后自动发布到Packagist的详细内容,更多请关注php中文网其它相关文章!
# php
# 加载
# 如何正确
# 有什么区别
# 尼克
# 欧洲
# 如果你
# 就会
# 的是
# 工作流
# ubuntu
# github
# json
# git
# js
# composer
# 为你
# 外卖托管和营销推广
# 谷歌seo难学吗
# linux搭建推广网站
# 平台seo推广方案外推
# 大专生网站建设
# seo直跳
# 网站竞价推广只信m火18星来
# 做国外网站优化网站
# 大创项目的营销推广
# 城联亿家营销推广
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全
J*a TimerTask中HashMap意外清空的深层原因与解决方案
UC浏览器如何安装插件 UC浏览器添加扩展程序详细教程【进阶】
顺丰快递查询系统 官方正版查询入口
天眼查企业查询官网入口 天眼查官方网页版查询
必由学官方平台入口 必由学在线课堂登录地址
批改网学生版PC登录 批改网官网登录系统入口
XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法
JUnit5/Mockito:优雅测试内部依赖与异常处理的实践
PHP中获取MongoDB服务器运行时间(Uptime)的专业指南
微信怎么把收藏的内容分类管理 微信收藏内容标签分类方法
内存检查:在VS Code中调试C++时的内存视图
MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
小米14应用无法联网原因分析_小米14网络权限修复
深入理解J*aScript Promise异步执行与微任务队列
优化LangChain文档加载与ChromaDB集成:解决多文档处理与分块问题
mc.js游戏直达 mc.js网页免下载版本秒进地址
MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具
Windows7怎么硬盘安装 Windows7提取ISO镜像到非系统盘并运行setup.exe实现硬盘直装【教程】
飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】
蛙漫画网页版全站入口 蛙漫热门作品免费浏览
AO3最新镜像入口 Archive of Our Own官方平台访问
2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示
C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果
顺丰快件物流信息 官方网站查询入口
抓大鹅无需下载版 抓大鹅秒玩版入口
印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】
win11怎么查看应用耗电情况 Win11电池设置查看应用能耗排行榜【优化】
单射、满射与双射的关系 一文理清所有逻辑
免费抖音短视频入口_抖音网页版短视频免费通道
HTML空白字符处理机制:渲染、DOM与编码实践
中兴BladeV30怎样用测距估书架层高_iPhone中兴BladeV30测距估书架层高【家装参考】
b站怎么看视频的弹幕数量_b站弹幕数量查看方法
Steam官网入口直达 Steam注册及登录步骤
顺丰快递查单号物流信息 顺丰快递小程序查询入口
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
铃兰之剑为这和平的世界希里技能组及加点推荐
Composer的 "licenses" 命令如何帮助你遵守开源协议_检查项目依赖的许可证合规性
QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台
2026年CSGO开箱网站推荐 CSGO开箱平台精选
Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略
手机CPU怎么影响游戏体验_手机CPU对游戏性能的影响分析
圆通快递查询实时追踪 圆通物流包裹状态快速查看
Go RPC HTTP服务正确实现与常见陷阱解析
深入理解J*aScript中的B样条曲线与节点向量生成
漫蛙Manwa2官网入口地址分享 漫蛙漫画PC版永久访问通道
Go语言中JSON数据解码与字段访问指南
Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑
J*aScript教程:根据元素文本内容动态设置背景色


2025-12-05
浏览次数:次
返回列表