【发布时间】:2021-12-05 00:50:17
【问题描述】:
我正在尝试创建一个 GitHub 操作来构建一个 Hugo 网站,将其部署在 Pinata 上并将最后一步的输出哈希保存到一个 txt 文件中。我设法实现了第一步和第二步。而且,对于第三个,我一直在尝试通过运行“echo”命令来做到这一点。但是,我收到此消息:“第 36 行的 yaml 语法有错误”
如何运行脚本以获取标识为“ipfs-pin”的步骤的输出?
这是我的代码:
name: deploy
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: jakejarvis/hugo-build-action@master
with:
args: --minify --buildDrafts
- uses: anantaramdas/ipfs-pinata-deploy-action@v1.6.4
id: ipfs-pin
with:
pin-name: '[my-pin-name]'
path: './public'
pinata-api-key: [API Key]
pinata-secret-api-key: [secret API Key]
verbose: true
remove-old: true
saves-hash-on-file:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: echo ${{steps.build.ipfs-pin.hash}} > /.github/ipfs-hash.txt
【问题讨论】:
-
您是否尝试在第二个作业配置中添加
needs: build?如果我没记错的话,当您想使用特定工作的输出时,这是强制性的。我也会尝试在"之间添加 ${{ ... }} 回显部分来解决语法错误。 -
@GuiFalourd 好的!谢谢。我添加了这两件事。但是,我仍然收到语法错误。它似乎在第二份工作之前的最后一行。
-
我想我知道发生了什么。首先,您的缩进似乎有问题,我在这里复制了工作流程以更正它而不返回错误:github.com/GuillaumeFalourd/poc-github-actions/blob/main/… - 其次:我一开始没有看到它,但是您忘记在 job1 中添加
outputs字段(构建)级别,没有这个你就不能在其他工作上共享输出(我无法成功运行它,因为我没有任何证书可以测试)。如果您使用您的凭据复制/粘贴我共享的工作流程,它应该可以工作。 -
让我知道它是否有效,以便我添加官方答案????
-
@GuiFalourd 是的,当然!有用。谢谢!!
标签: yaml github-actions