我在 1 小时内构建了 327 个不同的 CI/CD 工作流。GitHub 将我标记为垃圾邮件者
GitHub Actions 工具包提供了一组包,以简化创建操作的过程。使用 javascript-action 模板开始吧! 包 ✔️ @actions/core 提供输入、输出、结果、日志、机密和变量的函数。更多信息请参见这里 npm install @actions/core 🏃 @actions/exec 提供执行 CLI 工具和处理输出的函数。更多信息请参见这里 npm install @actions/exec 🍨 @actions/glob 提供搜索与 glob 模式匹配的文件的函数。更多信息请参见这里 npm install @actions/glob ☎️ @actions/http-client 一个轻量级 HTTP 客户端,优化用于构建操作。更多信息请参见这里 npm install @actions/http-client ✏️ @actions/io 提供磁盘 i/o 函数,如 cp、mv、rmRF 等等。更多信息请参见这里 npm install @actions/io 🔨 @actions/tool-cache 提供下载和缓存工具的函数。例如,setup-* 操作。更多信息请参见这里,查看 @actions/cache 以缓存工作流依赖项。npm install @actions/tool-cache @actions/github 提供一个已经注入当前操作上下文的 Octokit 客户端。更多信息请参见这里 npm install @actions/github 💾 @actions/artifact 提供与操作工件交互的函数。更多信息请参见这里 npm install @actions/artifact 🎯 @actions/cache 提供缓存依赖项和构建输出,以提高工作流执行时间的函数。更多信息请参见这里 npm install @actions/cache 🔏 @actions/attest 提供为工作流工件编写证明的函数。更多信息请参见这里 npm install @actions/attest 使用工具包创建操作 ❓ 选择操作类型 概述差异以及您为什么想创建 JavaScript 或基于容器的操作。 ➰ 版本管理 操作从 GitHub 存储库图形中下载并运行。这包含有关操作版本管理和安全发布的指导。 ⚠️ 问题匹配器 问题匹配器是一种扫描操作输出以获取指定正则表达式模式并在 UI 中突出显示该信息的方式。 ⚠️ 代理服务器支持 自托管的运行程序可以配置为在代理服务器后运行。 Hello World JavaScript 操作 说明如何创建一个简单的 hello world JavaScript 操作。 ... const nameToGreet = core . getInput ( 'who-to-greet' ) ; console . log ( `Hello ${ nameToGreet } !` ) ; ... JavaScript 操作演练 演练和模板,用于创建一个带有测试、代码检查、工作流、发布和版本管理的 JavaScript 操作。async function run ( ) { try { const ms = core . getInput ( 'milliseconds' ) ; console . log ( `Waiting ${ ms } milliseconds ...` ) . . . PASS . / index . test . js ✓ throws invalid number ✓ wait 500 ms ✓ test runs 测试套件 : 1 passed , 1 total 测试:3 passed , 3 total TypeScript 操作演练 演练创建带有编译、测试、代码检查、工作流、发布和版本管理的 TypeScript 操作。 import * as core from '@actions/core' ; async function run ( ) { try { const ms = core . getInput ( 'milliseconds' ) ; console . log ( `Waiting ${ ms } milliseconds ...` ) . . . PASS . / index . test . js ✓ throws invalid number ✓ wait 500 ms ✓ test runs 测试套件 : 1 passed , 1 total 测试:3 passed , 3 total Docker 操作演练 创建作为容器交付并通过 docker 运行的操作。 FROM alpine:3.10 COPY LICENSE README.md / COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] Docker 操作演练与 Octokit 创建作为使用工具包交付的容器的操作。此示例使用 GitHub 上下文来构建 Octokit 客户端。 FROM node:slim COPY . . RUN npm install --production ENTRYPOINT ["node", "/lib/main.js"] const myInput = core . getInput ( 'myInput' ) ; core . debug ( `Hello ${ myInput } 来自容器内部` ) ; const context = github . context ; console . log ( `我们甚至可以获取上下文数据,如仓库: ${ context . repo . repo } ` ) 注意 感谢您对此 GitHub 仓库的兴趣,不过,目前我们不接受贡献。我们继续将资源集中在帮助客户成功的战略领域,同时使开发者的生活更轻松。虽然 GitHub Actions 仍然是这一愿景的关键部分,但我们正在向其他领域分配资源,而目前不接受对该仓库的贡献。GitHub 公共路线图是关注我们正在开发的功能及其阶段的最佳地点。我们正在采取以下步骤,以更好地引导与 GitHub Actions 相关的请求,包括:我们将把问题和支持请求引导到我们的社区讨论区 高优先级错误可以通过社区讨论报告,或者您可以将其报告给我们的支持团队 https://support.github.com/contact/bug-report 。安全问题应按照我们的 security.md 处理。在此期间,我们仍将为该项目提供安全更新,并修复重大不兼容的更改。您仍然可以在该仓库中提出问题。
阅读全文 →本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡