PHP dotenv 是一個用于管理項目環境變量的庫。在 CI/CD(持續集成/持續部署)流程中,它可以幫助您更輕松地管理不同環境(如開發、測試和生產)的配置信息。
以下是在 CI/CD 流程中使用 PHP dotenv 的一些建議:
安裝 PHP dotenv:
使用 Composer 安裝 php dotenv:
composer require vlucas/phpdotenv
創建 .env 文件:
在項目根目錄下創建一個名為 .env
的文件,用于存儲環境變量。例如:
APP_ENV=development
DB_HOST=localhost
DB_NAME=my_database
DB_USER=my_user
DB_PASS=my_password
加載 .env 文件:
在項目的入口文件(如 index.php
)中,使用以下代碼加載 .env
文件:
require 'vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
使用環境變量:
在項目中,您可以使用 getenv()
函數獲取環境變量的值。例如:
$dbHost = getenv('DB_HOST');
$dbName = getenv('DB_NAME');
$dbUser = getenv('DB_USER');
$dbPass = getenv('DB_PASS');
在 CI/CD 流程中管理環境變量:
在 CI/CD 工具(如 Jenkins、GitLab CI/CD 或 GitHub Actions)中,您可以設置環境變量,這樣它們就不會被提交到版本控制系統(如 Git)。這有助于保護敏感信息,如數據庫憑據、API 密鑰等。
例如,在 GitLab CI/CD 的 .gitlab-ci.yml
文件中,您可以這樣設置環境變量:
variables:
APP_ENV: production
DB_HOST: production_host
DB_NAME: production_database
DB_USER: production_user
DB_PASS: production_password
使用不同的 .env 文件:
您可以為不同的環境創建不同的 .env
文件,例如 .env.development
、.env.testing
和 .env.production
。然后,根據當前環境加載相應的文件。例如:
$environment = getenv('APP_ENV') ?: 'development';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, ".env.{$environment}");
$dotenv->load();
通過以上方法,您可以在 CI/CD 流程中更輕松地管理 PHP 項目的環境變量。