Skip to content

PHPCI Plugin to use external environment file in build directories

License

Notifications You must be signed in to change notification settings

softinker/phpci-external-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

External Environment Plugin for PHPCI

Build Status Latest Stable Version License

A plugin for PHPCI to copy an external environment file (e.g. .env environment file used in a Laravel Application) to the appropriate build directory.

Initial Situation

When committing a application to a VCS, it is a common nature, not to include any sensitive data like database passwords within the application configuration files (e.g. .env, phpci.yml, phpunit.xml).

This plugins copies an environment file, located on the server PHPCI is running on, to the appropriate build directory. With that approach, there is no need to include any sensitive data in the application releated files.

Each branch in the VCS can be configured separately to support different settings for each branch:

  • master branch -> production settings
  • development branch -> stage settings

Install the Plugin

  1. Navigate to your PHPCI root directory and run composer require rephlux/phpci-external-env
  2. Update your phpci.yml in the project you want to deploy with

Prerequisites

  1. Create a environment file for your project on the server PHPCI is running on
  2. Ensure that the environment file is readable.

Plugin Options

  • branch [array] - The specific branch for the project
    • env [string] - The path to the env file
    • path [string, optional] - The path to the destination filename relative to the appropriate build directory (default: '.env')

PHPCI Config

\Rephlux\PHPCI\Plugin\ExternalEnvironment:
    <branch>:
        env: <path_to_env_file>
        path: <path_to_destination_filename>

example:

setup:
    \Rephlux\PHPCI\Plugin\ExternalEnvironment:
        master:
            env: "/usr/www/phpci/.env/laravel-application-production.env"
        development:
            env: "/usr/www/phpci/.env/laravel-application-stage.env"    

About

PHPCI Plugin to use external environment file in build directories

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages