GitHub Actions Windows Runner中构建号与变量数值求和实现
在GitHub Actions Windows Runner中正确计算MAUI Android的versionCode并存入环境变量
问题根源是GITHUB_RUN_NUMBER在PowerShell中默认是字符串类型,直接和偏移量相加会触发字符串拼接而非数值运算。核心解决思路是先把字符串转成整数再计算,然后将结果存入GitHub环境变量供后续构建步骤使用。
具体实现步骤
- 在GitHub Actions的job中添加PowerShell步骤,完成类型转换与数值计算:
jobs: build-android: runs-on: windows-latest steps: - name: 计算Android versionCode shell: pwsh run: | # 将GitHub运行号转为整数,加上自定义偏移量(示例为300,可根据Google Play已部署版本调整) $runNum = [int]$env:GITHUB_RUN_NUMBER $offset = 300 $finalVersionCode = $runNum + $offset # 将结果写入GitHub环境变量,后续步骤可直接引用 echo "ANDROID_VERSION_CODE=$finalVersionCode" >> $env:GITHUB_ENV
- 后续构建MAUI项目时,直接引用环境变量:
- name: 构建MAUI Android包 run: dotnet build YourMauiProject.sln -t:PackageForAndroid -p:VersionCode=${{ env.ANDROID_VERSION_CODE }} -c Release
关键细节
- 必须用
[int]显式转换$env:GITHUB_RUN_NUMBER,确保是数值类型后再做加法运算 - 写入
$env:GITHUB_ENV是让环境变量在整个job的后续步骤中生效的标准方式,不要直接用$env:ANDROID_VERSION_CODE = ...,这种仅在当前PowerShell会话有效
内容的提问来源于stack exchange,提问作者Smorka
相关产品推荐
相关产品推荐

