2017 © Pedro Peláez
 

library deploy-command

Deployment command

image

firehed/deploy-command

Deployment command

  • Saturday, June 23, 2018
  • by Firehed
  • Repository
  • 1 Watchers
  • 0 Stars
  • 93 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Symfony Console Deploy Command

Latest Stable Version License, (*1)

Test Lint Static analysis codecov, (*2)

This is a premade Symfony Console component to manually deploy your application. At this time, it only supports deployment to Kubernetes via kubectl. Deploying multiple images at once is supported., (*3)

Ultimately, it's a fancy wrapper around running kubectl set image deploy ...., (*4)

Configuration and Usage

composer require firehed/deploy-command, (*5)

Somewhere in your existing Symfony Console setup or config:, (*6)

$targets = [
    [
        'container' => 'your-container-name',
        'deployment' => 'your-deployment-name',
        'image' => 'yourco/yourimage:$IMAGE',
        'namespace' => 'your-deployment-namespace',
    ], [
        // Another thing to deploy at the same time
    ]
];
$kubectl = new Firehed\Console\Deploy\Kubectl($targets);
$deploy = new Firehed\Console\Deploy($kubectl);

$application = new Symfony\Component\Console\Application();
// ...
$application->add($deploy);
$application->run();

In your image, $IMAGE will be substituted with the commit hash of the command argument, or that of master. It is NOT a PHP variable in the above example (note single quotes). namespace is optional, and will default to Kubernetes' default., (*7)

Event hooks

The deploy command will run any event hooks you request before or after the deployment process runs. To register a hook, call $deploy->before($hook); or $deploy->after($hook); The hook must be a callable with the signature function (string $hash, string $revision, bool $isDryRun). Hooks were designed primarily for sending notifications (e.g. posting to Slack) but can be used for whatever you want., (*8)

Requirements and Limitations

This only works in git repositories, and expects that your docker image will be tagged with the full 40-character commit hash (e.g. yourname/yourfancyproject:92dac20583b35ea7167366bbf0b24243016911c0). This is only a deployment tool, and does not perform the builds., (*9)

All of the images deployed will use the same hash, and all deploy together. Selective deployment is not supported at this time., (*10)

The Versions

23/06 2018

dev-master

9999999-dev

Deployment command

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Stern

command console cli docker deployment kubernetes k8s

23/06 2018

1.0.0

1.0.0.0

Deployment command

  Sources   Download

MIT

The Requires

 

The Development Requires

by Eric Stern

command console cli docker deployment kubernetes k8s