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

如何在GitHub Action中使用Java的System::getenv读取环境变量?

在GitHub Actions中让Java通过System::getenv读取环境变量的解决方案

1. 确认仓库环境变量配置位置

确保你的登录账号、密码是配置在仓库的 Settings -> Secrets and variables -> Actions 下:

  • 敏感信息(如密码)存在Secrets标签页(加密存储)
  • 非敏感信息存在Variables标签页(明文存储)

2. 在GitHub Actions工作流中注入环境变量

需要在工作流文件(如.github/workflows/test.yml)的测试步骤中,将仓库配置的Secrets/Variables映射为当前运行环境的环境变量,示例如下:

name: Playwright 自动化测试
on: [push, pull_request]
jobs:
  run-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: 配置JDK环境
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
      - name: 执行测试用例
        env:
          # 从仓库Secrets中读取并注入
          LOGIN_ACCOUNT: ${{ secrets.LOGIN_ACCOUNT }}
          LOGIN_PWD: ${{ secrets.LOGIN_PWD }}
          # 若使用仓库Variables,替换为vars.XXX
          # LOGIN_ACCOUNT: ${{ vars.LOGIN_ACCOUNT }}
        run: mvn test # 或gradle test,根据你的构建工具调整

3. Java代码中读取环境变量

直接使用System.getenv()方法读取,注意变量名要和工作流env块中的键完全一致(大小写敏感):

// 读取环境变量
String loginAccount = System.getenv("LOGIN_ACCOUNT");
String loginPwd = System.getenv("LOGIN_PWD");

// 后续用于Playwright登录逻辑
playwright.context().newPage().fill("#username", loginAccount);
playwright.context().newPage().fill("#password", loginPwd);

4. 常见问题排查

  • 核对工作流中env块的变量名、仓库配置的Secrets/Variables名称、Java代码中读取的名称三者完全一致,包括大小写和拼写。
  • 若使用了环境级Secrets(绑定特定环境),需要在工作流的jobs节点下添加environment字段指定对应环境:
    jobs:
      run-tests:
        runs-on: ubuntu-latest
        environment: test-env # 对应你配置环境变量的环境名称
        steps:
          # ... 其他步骤
    
  • 可在工作流中添加调试步骤,确认环境变量是否正确注入(注意不要打印敏感信息):
    - name: 验证环境变量注入
      run: echo "登录账号: $LOGIN_ACCOUNT"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:07:12