运行 命令获取上一步 GitHub 操作的输出
Run command taking output from previous step on GitHub actions
我正在尝试执行一个 GitHub 操作来构建一个 Hugo 网站,将其部署在 Pinata 上并将最后一步的输出哈希保存到一个 txt 文件中。我设法实现了第一步和第二步。而且,对于第三个,我一直在尝试通过 运行 宁“回声”命令来做到这一点。但是,我收到此消息:“第 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
第一个
您的缩进似乎有问题,I reproduced the workflow在将工作流推送到存储库时更正它而不返回错误:
name: Deploy
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
outputs:
hash: ${{ steps.ipfs-pin.outputs.hash }}
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
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: echo ${{steps.build.outputs.hash}} > /.github/ipfs-hash.txt
第二
正如您在上面的工作流程中看到的那样,我在作业 1(构建)级别添加了 outputs
字段,否则您无法在其他作业上共享输出。
此外,要在作业之间共享输出,您必须在作业 2(保存哈希文件)级别添加 needs: [build]
行。
注意:我无法 运行 它成功,因为我没有任何证书可以测试,但如果你 copy/paste 我分享的工作流程使用您的凭据。
我正在尝试执行一个 GitHub 操作来构建一个 Hugo 网站,将其部署在 Pinata 上并将最后一步的输出哈希保存到一个 txt 文件中。我设法实现了第一步和第二步。而且,对于第三个,我一直在尝试通过 运行 宁“回声”命令来做到这一点。但是,我收到此消息:“第 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
第一个
您的缩进似乎有问题,I reproduced the workflow在将工作流推送到存储库时更正它而不返回错误:
name: Deploy
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
outputs:
hash: ${{ steps.ipfs-pin.outputs.hash }}
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
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: echo ${{steps.build.outputs.hash}} > /.github/ipfs-hash.txt
第二
正如您在上面的工作流程中看到的那样,我在作业 1(构建)级别添加了 outputs
字段,否则您无法在其他作业上共享输出。
此外,要在作业之间共享输出,您必须在作业 2(保存哈希文件)级别添加 needs: [build]
行。
注意:我无法 运行 它成功,因为我没有任何证书可以测试,但如果你 copy/paste 我分享的工作流程使用您的凭据。