S. *_*nyk 5 powershell arguments environment-variables github-actions
我需要使用 Github Actions 将分支名称作为参数传递给 .ps1 脚本。Github 操作部分:
runs-on: windows-latest
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
steps:
- name: Extract branch name
shell: bash
run: echo "${GITHUB_REF}"
id: extract_branch
- uses: actions/checkout@v1
- name: Run a one-line script
run: .\Scripts\my_script.ps1 -branch_name ${GITHUB_REF}
shell: powershell
Run Code Online (Sandbox Code Playgroud)
.ps1部分:
##############################################
#Script Title: Download File PowerShell Tool
#Script File Name: Download-File.ps1
#Author: Ron Ratzlaff
#Date Created: 4/21/2016
##############################################
#Requires -Version 3.0
param($branch_name)
"Current branch"
$branch = git rev-parse --abbrev-ref HEAD
"$branch"
"${branch}"
"${GITHUB_REF}"
"$GITHUB_REF"
"$branch_name"
"{branch_name}"
Write-Host $branch_name
Run Code Online (Sandbox Code Playgroud)
我显示了 .ps1 部分,以便使用不同的显示方式显示 .ps1 脚本内部的分支名称。因为分支名称取决于很多脚本逻辑。因此,它不显示任何内容。但:
run: echo "${GITHUB_REF}"部分Extract branch name完全显示分支名称run: .\Scripts\my_script.ps1 -branch_name customtext它将被传递到脚本并以不同的方式成功显示。如何GITHUB_REF在.ps1中实现传递值并读取/显示它?
Powershell 中访问环境变量与 bash 不同,需要在其前面加上env:. 对于您的脚本,您可以使用 访问引用$env:GITHUB_REF。
run或者,您可以通过替换属性来使用 GitHub Actions 公开的模板.\Scripts\my_script.ps1 -branch_name ${{github.ref}}来填充branch_name参数。