首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP / Github Actions工作流:如何在$_ENV中提供秘密

基础概念

$_ENV 是 PHP 中的一个超级全局变量,用于访问环境变量。环境变量是在操作系统级别设置的变量,可以在应用程序中访问这些变量,而无需硬编码敏感信息。

GitHub Actions 是 GitHub 提供的持续集成和持续部署(CI/CD)平台。它允许开发者定义工作流(workflows),这些工作流可以在代码提交、拉取请求等事件发生时自动执行。

相关优势

  • 安全性:通过将敏感信息存储在环境变量中,而不是直接写入代码,可以减少安全风险。
  • 灵活性:环境变量可以在不同的环境中轻松更改,而不需要修改代码。
  • 易于管理:GitHub Actions 允许在工作流中定义环境变量,使得配置管理更加集中和一致。

类型

在 GitHub Actions 中,环境变量可以分为两类:

  1. 秘密(Secrets):敏感信息,如 API 密钥、密码等,只能在仓库设置中配置,并且在工作流文件中通过 secrets 关键字引用。
  2. 变量(Variables):非敏感信息,可以在工作流文件中直接定义,也可以在仓库设置中配置。

应用场景

当你需要在 PHP 应用程序中使用 GitHub Actions 进行 CI/CD 时,可能需要将一些敏感信息(如数据库密码、API 密钥等)传递给 PHP 应用程序。通过将这些信息存储在 GitHub Secrets 中,并在工作流中设置到 $_ENV,可以实现这一目的。

如何在 $_ENV 中提供秘密

以下是一个示例,展示如何在 GitHub Actions 工作流中将秘密设置为 PHP 的环境变量:

步骤 1:在 GitHub 仓库中创建一个秘密

  1. 进入你的 GitHub 仓库。
  2. 点击 Settings 选项卡。
  3. 在左侧菜单中选择 Secrets
  4. 点击 New repository secret 按钮。
  5. 输入秘密的名称(例如 DB_PASSWORD)和值(你的数据库密码),然后点击 Add secret

步骤 2:在工作流文件中设置环境变量

在你的 GitHub 仓库中创建一个 .github/workflows 目录,并在其中创建一个 YAML 文件(例如 ci.yml)。在该文件中定义工作流,并将秘密设置为环境变量:

代码语言:txt
复制
name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.4'

    - name: Add secrets to environment
      run: |
        echo "${{ secrets.DB_PASSWORD }}" >> $GITHUB_ENV

    - name: Run tests
      run: |
        php -d variables_order=EGPCS -r "echo $_ENV['DB_PASSWORD'];"

在这个示例中,我们使用 echo 命令将秘密添加到 $GITHUB_ENV 环境变量中。这样,PHP 应用程序就可以通过 $_ENV 访问这个秘密。

参考链接

通过这种方式,你可以安全地将敏感信息传递给 PHP 应用程序,并在 GitHub Actions 中进行 CI/CD 流程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券