github-tencent-scf
/github-tencent-scf
Wdraża statyczną stronę z GitHuba do Tencent SCF lub przenosi aplikację Serverless na GitHub Actions i SDK Pythona.
- Autor
- bexino ↗
- Repozytorium
- github-tencent-scf ↗
- Licencja
- AGPL-3.0
- Ostatnia zmiana repozytorium
- 13.11.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 3
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 5
Brak sygnałów. Repozytorium zmienione 13.11.2026, bez odwołań do wycofanych modeli i API.
AGPL-3.0, copyleft: przeróbki udostępniane innym muszą mieć tę samą licencję.
Co robi i kiedy
Wdraża statyczną stronę z GitHuba do Tencent SCF lub przenosi aplikację Serverless na GitHub Actions i SDK Pythona.
Oryginalny opis (EN)
将 GitHub 中的静态站点从零部署到腾讯云 SCF,或将既有 Serverless 应用迁移为 GitHub Actions 和腾讯云 Python SDK 更新函数代码;需要创建或配置云函数及其访问入口时使用。
Jak działa
- 确认目标与访问权限
- 首次部署
- 从 Serverless 迁移
- 自定义域名
- 参考
Podgląd SKILL.md
--- name: github-tencent-scf description: 将 GitHub 中的静态站点从零部署到腾讯云 SCF,或将既有 Serverless 应用迁移为 GitHub Actions 和腾讯云 Python SDK 更新函数代码;需要创建或配置云函数及其访问入口时使用。 --- # GitHub 部署腾讯云函数 将静态站点构建为 SCF Web 函数代码包,用 GitHub Actions 和腾讯云 Python SDK 更新代码,不使用 Serverless Framework、Serverless 应用部署能力或第三方 Serverless Action。适用于首次部署和迁移;其他类型项目须先判断其运行方式,不能盲套静态站点模板。 ## 确认目标与访问权限 1. 根据用户提供的 GitHub 链接核实仓库、默认分支、代码和现有工作流;链接也可能指向技能仓库,不要误当目标仓库。检查构建命令、产物目录以及现有部署是否仍在使用。优先使用已连接的 GitHub 工具;能力不足时使用已授权的浏览器或 CLI。 2. 使用内置浏览器打开腾讯云控制台,检查登录状态和实际账号;未登录或需要验证时让用户自行登录,完成后继续。浏览器登录不等于 SDK 凭据可用。若无法访问内置浏览器,如实说明并引导用户完成相关控制台操作,不声称已验证。 3. 从仓库和项目配置确定站点标识,区分展示名称和 SCF 函数资源名,函数名遵循腾讯云当前命名规则。检查地域、命名空间、函数及其归属:用户未指定地域且没有明确的既有部署目标时,默认使用上海(`ap-shanghai`);已有目标应沿用核实后的实际地域。每个新网站默认新建独立函数,即使同一账号已有其他网站的函数也不得复用;选择不冲突的名称并核实可用性。只有明确指定复用,或证据表明该函数本来就是此网站的部署目标且没有被其他网站共用时,才沿用。名称冲突或归属不明时不要覆盖,查明或询问用户。对于新资源选择合理默认值并告知用户。自定义域名仅在用户提出或提供域名时配置。 4. 检查仓库、组织及工作流使用的环境是否已有 `TENCENT_SECRET_ID` 和 `TENCENT_SECRET_KEY`,以及作用域和环境保护规则。示例 SDK 工作流仍需要这两个密钥;如果已有同名 Secrets,优先沿用,不要求重新添加。Secrets 的值不可读取;存在名称不代表值有效、作用域正确或权限足够,最终以部署结果为准。不可见时说明无法核实,询问用户是否已配置。只有在核实所有依赖并完成迁移后,才能判断旧密钥是否可以移除;不要主动删除或替换。 5. 如缺少密钥,引导用户在目标 GitHub 仓库 **Settings → Secrets and variables → Actions → New repository secret** 分别添加 `TENCENT_SECRET_ID`(腾讯云 SecretId)和 `TENCENT_SECRET_KEY`(SecretKey);说明工作流若使用 environment,还要检查环境级 Secrets。用户在腾讯云访问管理控制台获取或创建适当权限的密钥,并自行粘贴到 GitHub;不要求用户在对话、命令行或日志中提供密钥,不读取或输出密钥值。优先使用权限最小化的子账号。 ## 首次部署 1. 根据项目实际情况准备构建命令和静态资源目录。参考 [assets/app.js](assets/app.js)、[assets/scf_bootstrap](assets/scf_bootstrap):Web 服务监听 `0.0.0.0:9000`,资源放在 `public/`,启动文件位于 ZIP 根目录且有执行权限。该示例是 Node 静态服务器,只适用于静态站;根据路由、资源类型及安全需求调整。`scf_bootstrap` 中的 Node 路径必须按所选腾讯云运行时核实并改写,不能照搬示例的 Node 16 路径。 2. 在腾讯云控制台选择目标地域和命名空间,创建标准 SCF **Web 函数**,使用当前可新建且受支持的 Node.js 运行时(优先评估 Node.js 20.19 或更新版本),配置内存、超时和公网访问入口。避免创建同名资源或覆盖非目标函数。首次创建可通过控制台完成;之后代码更新必须走 Python SDK。创建过程若要求支付、实名或授权,让用户处理对应步骤。 3. 配置并验证可访问的入口:优先在控制台为函数启用公网函数 URL;如不支持则配置 API 网关触发器并发布。记录实际 URL、地域、版本或别名及鉴权设置。已有入口按实际类型保留,不要把 API 网关域名与函数 URL 混为一谈。 4. 参考 [assets/tencent-scf.yml](assets/tencent-scf.yml) 和 [assets/deploy.py](assets/deploy.py) 生成适配目标项目的工作流和 SDK 脚本。根据已核实的目标,Agent 应优先通过已授权的 GitHub 工具或 CLI 设置仓库 Actions Variables `SCF_FUNCTION_NAME`、`SCF_NAMESPACE` 和 `SCF_REGION`;能力不足时使用已登录的内置浏览器在 **Settings → Secrets and variables → Actions → Variables** 中设置并核对。也可在工作流中明确提供这三个非密钥环境变量。只有访问受限或必须由用户处理时才请求协助,说明具体阻碍;不要把普通变量当作密钥要求用户手动填写。缺少任一值时脚本会停止。适配分支、构建、依赖管理、输出目录、运行时和路径。脚本仅调用 GetFunction 和 UpdateFunctionCode,不创建函数或改变配置。检查 ZIP 大小;直接上传接口限制以当前文档为准(示例限制 20 MiB),超限改用官方支持的 COS 方式或说明阻碍。压缩时从包根目录打包,保留启动文件权限。 5. 将改动提交并推送到用户授权的目标分支,必要时以手动触发运行工作流;监测 GitHub Actions 的结果。仅在用户授权范围内修改远程仓库和云资源,遵循当前环境的权限要求。函数恢复 Active 并不单独证明站点可用,检查代码更新结果后访问首页和至少一个静态资源;SPA 刷新、子路径和自定义域名按项目实际验证。记录运行链接、函数和访问 URL;失败时检查日志但不泄露密钥,准确报告未完成步骤。 6. 部署后检查并关闭此次部署产生的 CLS 日志,避免持续产生费用。使用内置浏览器打开[日志服务的日志主题](https://console.cloud.tencent.com/cls/topic),在顶部选择地域,检查显示数量不为 0 的地域;找到与此次部署对应的日志主题后,点击该项的三个点,再点击“关闭日志”。核实目标归属,不要关闭其他项目的日志;如果无法确定归属或界面操作与描述不符,说明情况,不要猜测操作。关闭日志后将无法依赖该日志排查后续问题。该控制台操作步骤尚未实测,执行时以实际界面为准。 ## 从 Serverless 迁移 先检查 Serverless 配置、工作流及腾讯云控制台,记录函数名、地域、命名空间、运行时、代码、环境变量、网络、层、触发器、API 网关、域名、版本/别名及关联资源。判断该网站是否确有专属既有函数:有且归属明确时可沿用并核实其类型和版本;没有时按首次部署为该网站新建独立函数。用户明确要求新建时,即使存在该网站原有函数,也应新建并按要求切换入口;保留旧资源作为回退,除非用户要求清理。不得把其他网站的函数当作迁移目标;用户明确要求共用时,先说明更新代码会影响其他网站,再按其选择处理。默认保留原 `serverless.yml` 等编排文件作为配置备份;若用户要求移除则遵照执行,先记录必要配置和回滚方式。停用原部署入口,避免两条流程互相覆盖;未经要求不要删除资源或改动触发器。适配 SDK 工作流后验证实际线上入口、静态资源、日志及原路由;保留上一个可部署代码包和回滚方式。无法安全确定目标或执行更新时停止并说明。 ## 自定义域名 用户要求时,根据现有入口类型操作其所属控制台:函数 URL 的自定义域名在 SCF 配置路径映射;API 网关入口在网关控制台配置对应绑定与发布。核实同地域、域名备案及 HTTPS 证书等实际条件。CNAME 值以对应控制台显示的值为准,告诉用户 DNS 记录主机名、类型和目标;没有实际值时不得猜测。DNS 完成后验证解析和 HTTPS。 ## 参考 - [腾讯云迁移指南](https://cloud.tencent.com/document/product/583/138985):迁移前核对最新政策。 - [创建函数 API](https://cloud.tencent.com/document/product/583/18586)、[更新函数代码 API](https://cloud.tencent.com/document/product/583/18581)、[Web 函数触发器](https://cloud.tencent.com/document/product/583/56127)。 - 示例工作流的自动触发分支和 SDK 安装版本均应按目标仓库调整;不得把仓库 Secrets 打印到日志。
Pliki w paczce (3)
- LICENSE 34 KB
- README.md 2 KB
- SKILL.md 9 KB
Wersje
W bazie nie ma innych skilli o nazwie github-tencent-scf.
Migawka bazy z 13.11.2026 · wersja paczki fa8f75a8e4e1 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100myship-skill
Prowadzi wdrożenia stron, funkcji brzegowych i backendów Node.js oraz baz danych i magazynu plików na Tencent Cloud w MyShip. - 100scf-reviewer
Ocenia wnioski SCF Build Award pod kątem dopasowania projektu, architektury, gotowości zespołu, budżetu i dowodów traction. - 90cloud-api-operations
Obsługuje zasoby chmury Tencent przez API: monitoring, alarmy, CLB, role CAM, COS, MySQL i SCF, gdy brakuje dedykowanego narzędzia. - 96github-actions
Doradza przy potokach CI/CD w GitHub Actions: konfiguracji workflow, automatyzacji budowy, wdrożeń i GitOps. - 90scf-budget-builder
Sprawdza budżet wniosku SCF Build Award: czy jest proporcjonalny, uzasadniony i dobrze ustrukturyzowany, na wzorcach z 215 dofinansowanych projektów. - 100scf-round-watcher
Pokazuje bieżące i ostatnie zgłoszenia do rund Stellar Community Fund, z oznaczeniem powtarzających się wnioskodawców. Przydaje się, gdy ktoś pyta o aktywną rundę SCF.