You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GitHub Actions+sops加密文件时执行报错,寻求技术帮助

解决GitHub Actions中sops执行报错的问题

错误根源

你下载的是Darwin(macOS)版本的sops二进制文件,但你的GitHub Actions runner是Ubuntu(Linux)系统,跨平台二进制不兼容,导致系统把sops二进制当成shell脚本解析,从而出现乱码和语法错误。

修正方案

将sops的下载链接替换为Linux版本,同时简化冗余操作步骤:

name: Encrypt application secrets
on:
  workflow_dispatch:
jobs:
  encrypt:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        fetch-depth: 1
    - name: Install sops
      run: |
        # 下载Linux版本的sops二进制
        curl -O -L -C - https://github.com/mozilla/sops/releases/download/v3.7.1/sops-v3.7.1.linux
        sudo mv sops-v3.7.1.linux /usr/bin/sops
        sudo chmod +x /usr/bin/sops
    - name: Import GPG key
      run: |
        # 批量导入GPG密钥,避免交互提示
        gpg --batch --import .github/.gpg
    - name: Encrypt secrets file
      run: |
        sops --encrypt --in-place .github/application.secrets.yaml

关键修改点

  • 替换sops下载链接:把darwin后缀改为linux,匹配Ubuntu runner的操作系统
  • 移除冗余的sudo chmod +x:安装步骤已经执行过一次,无需重复操作
  • 给GPG导入添加--batch参数:避免GitHub Actions环境中出现交互提示导致流程卡住
  • 移除sudo执行sops:普通用户权限足够执行加密操作(除非文件权限有特殊限制)

额外建议

如果后续需要升级sops版本,可直接从mozilla/sops的官方发布页面获取对应Linux版本的下载链接,或者使用官方安装脚本自动适配系统:

curl -s https://raw.githubusercontent.com/mozilla/sops/main/install.sh | bash

内容的提问来源于stack exchange,提问作者nadia univ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 22:15:36