Yog*_*fel 3 powershell github github-actions
我想在 Windows 自托管运行器上访问之前作业的步骤结果。为了做到这一点,我使用如下输出变量,效果很好(在最后一步中打印“成功”)。
name: Debug workflow
on: workflow_dispatch
jobs:
job1:
runs-on: tester-1
outputs:
output1: ${{ steps.step1.outputs.MY_OUTPUT }}
steps:
- name: Checkout with submodules
id: checkout_step
uses: actions/checkout@v3
- name: Write variable to output
id: step1
run: echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'
job2:
runs-on: tester-1
needs: job1
env:
OUTPUT1: '${{needs.job1.outputs.output1}}'
steps:
- name: Print outputs from previous
run: echo ${{ env.OUTPUT1 }}
Run Code Online (Sandbox Code Playgroud)
然而::set-output 已被弃用,所以我想转换为正确的方法。根据另一个问题,我已经尝试将我的替换echo '::set-output name=MY_OUTPUT::${{ steps.checkout_step.outcome }}'为
echo "MY_OUTPUT=${{ steps.checkout_step.outcome }}" >> $env:GITHUB_ENVecho "MY_OUTPUT=${{ steps.checkout_step.outcome }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append使用任一版本都会导致打印步骤和空变量出错OUTPUT1。我究竟做错了什么?
Run echo
echo
shell: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.EXE -command ". '{0}'"
env:
OUTPUT1:
Write-Output : Cannot process command because of one or more missing mandatory parameters: InputObject.
At C:\tester-1-runner\_work\_temp\a19d4f45-cf0e-4ddb-b62e-4f05a2f00461.ps1:2 char:1
+ echo
+ ~~~~
+ CategoryInfo : InvalidArgument: (:) [Write-Output], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingMandatoryParameter,Microsoft.PowerShell.Commands.WriteOutputCommand
Error: Process completed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
您混淆了输出和环境变量。
填充环境变量的正确语法shell: bash是:
echo "foo=bar" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)
对于输出:
echo "foo=bar" >> $GITHUB_OUTPUT
Run Code Online (Sandbox Code Playgroud)
当您使用 Windows 运行程序时,您的解决方案应该是$ENV:GITHUB_OUTPUT:
run: echo "MY_OUTPUT=${{ steps.checkout_step.outcome }}" >> $ENV:GITHUB_OUTPUT
Run Code Online (Sandbox Code Playgroud)
之后,echo应该可以正常工作:
echo ${{ env.OUTPUT1 }}
Run Code Online (Sandbox Code Playgroud)
或者,
echo $ENV:OUTPUT1
Run Code Online (Sandbox Code Playgroud)
请参阅这些线程了解更多详细信息:
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |