Yii powered task runner and deployment solution
PHP Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
commands
config
home-dist
lib
phar
projects_tmp
runtime
tests
vendor
.gitignore
LICENSE
README.md
codeception.yml
composer.json
deployii
deployii.bat
requirements.php

README.md

DeploYii

Fetch, setup, automate and deploy your projects!
...powered by PHP & the Yii Framework.

Latest Stable Version License

(once ready) you'll be able to use DeploYii either as a simple task runner to automate your project setup and configuration or as deployment solution to package and deploy your code.

Requirements

Getting started

  1. get DeploYii: composer create-project giovdk21/deployii deployii ~0.5
  2. go inside the deployii folder (cd deployii/)
  3. run ./deployii to check the available options
  4. run ./deployii fetch example_basic to try out the basic example
  5. run ./deployii run ~/.deployii/workspace/example_basic_[...]/basicExample/ to run it again, without re-downloading it
  6. run ./deployii run ~/.deployii/workspace/example_basic_[...]/basicExample/ clean to run the clean target
  7. run ./deployii init ~/.deployii/workspace/helloWorld/ to create a new build script

For more information see the documentation on the wiki.

return [

  'deployiiVersion' => '0.5.0',

  'require' => [],

  'params' => [
    'username' => 'world',
  ],

  'targets' => [
    'default' => [
      ['out', 'Hello {{username}}!'],
    ],
  ],
];

...want to see more? Click here 😉

Available features

  • build script based on a simple PHP array
  • fetch your code from git and store it into a unique workspace directory
  • build script parameters
  • build script requirements
  • user defined command and recipes
  • output text to the user
  • require user input (prompt, confirm and select between multiple values)
  • non interactive mode
  • override default parameters with command line options
  • save / load information from json files
  • if / else statement
  • replace placeholders with build parameters values (both strings and arrays are supported)
  • check the build script compatibility with the current DeploYii version and return the list of non-backward compatible changes
  • call a target from another (chaining)
  • execute shell commands
  • copy file
  • copy folders
  • create folder
  • remove file
  • remove folder (recursive)
  • move files and folders
  • set files and folders permissions
  • archive/compress files and folders
  • SFTP support (put, get, mkdir, chmod, mv, rm, rmdir, ...)
  • SFTP authentication via RSA key
  • SFTP exec (exec remote command via ssh)
  • FTP support (passive mode only)
  • multiple SFTP / FTP connections
  • replace in files
  • script command to fetch (clone) from git
  • path aliases to the workspace and the build script folders
  • parameters placeholders also work in paths
  • build execution log
  • dry run mode

Planned features

  • command to run composer which downloads it if not present
  • command to self update DeploYii
  • codeception related commands
  • other CI related commands
  • JS and CSS minification and concatenation
  • workspaces cleanup
  • project management user interface
  • database based project information
  • etc.

Community