Skip to content

Implement deployment commands #12

Description

@gplanchat

As a developer I want to deploy my application on an environment, should it be local or remote, be able to synchronize the files I have in local and the ones on the remote environment.

Commands to add:

  • environment:init Asks questions about the location (server/directory) of the remote environment, environment variables to set and writes them inside a .kloud.environment.yaml file in the local workspace.
  • environment:deploy integrates https://deployer.org to deploy the application in the remote environment:
    • rsync the sources
    • build the Docker infrastructure through docker-compose up --no-start
  • environment:destroy that integrates https://deployer.org to destroy the application in the remote environment:
    • destroy the Docker infrastructure through docker-compose down and delete the appropriate persistent volumes
    • delete the sources and the directory
  • environment:start that integrates https://deployer.org to start the application in the remote environment, should fail if the application wasn't previously deployed
  • environment:stop that integrates https://deployer.org to stop the application in the remote environment, should fail if the application wasn't previously deployed
  • environemnt:cache:clear that integrates https://deployer.org to clear the application caches and restart the FPM servcie(s)
  • environment:rsync that synchronizes the local and remote sources (in case you switched from git branches)
  • environment:database:dump that dumps the database in the current state
  • environment:database:load that loads a database dump
  • environment:variable:get that prints the value of an environment variable
  • environment:variable:set that changes the value of an environment variable
  • environment:variable:list that prints the values of all environment variables
  • environment:variable:unset that unsets an environment variable
  • environment:proxy that proxies a port in the stack to a local port (especially for Xdebug and database accesses)
  • environment:shell that opens a shell in a node of the execution environment (be it sh, sh-xdebug or sql nodes)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions