3 Commits
0.0.5 ... 0.0.7

Author SHA1 Message Date
Travis Tomka
c3fee31737 Add the docker-compose logs command. 2018-04-28 13:14:06 -06:00
Travis Tomka
8ff8ed66bf Add the docker-composer ps command. 2018-04-28 12:33:19 -06:00
Travis Tomka
2800a55776 Add docker compose pull command to the project. 2018-04-14 13:36:15 -06:00
5 changed files with 229 additions and 1 deletions

View File

@@ -33,6 +33,9 @@ composer require --dev droath/robo-docker-compose
The following commands have been implemented:
- docker-compose up
- docker-compose ps
- docker-compose logs
- docker-compose pull
- docker-compose exec
- docker-compose down
- docker-compose start

77
src/Task/Logs.php Normal file
View File

@@ -0,0 +1,77 @@
<?php
namespace Droath\RoboDockerCompose\Task;
use Droath\RoboDockerCompose\DockerServicesTrait;
use Robo\Exception\TaskException;
/**
* Define the docker compose logs task.
*/
class Logs extends Base
{
use DockerServicesTrait;
/**
* {@inheritdoc}
*/
protected $action = 'logs';
/**
* Produce monochrome output.
*
* @return $this
*/
public function noColor()
{
$this->option('no-color');
return $this;
}
/**
* Follow log output.
*
* @return $this
*/
public function follow()
{
$this->option('follow');
return $this;
}
/**
* Show timestamps.
*
* @return $this
*/
public function timestamps()
{
$this->option('timestamps');
return $this;
}
/**
* Number of lines to show from the end of the logs for
* each container.
*
* @param string $value
*
* @return $this
* @throws TaskException
*/
public function tail($value = 'all')
{
if ($value !== 'all' && !is_numeric($value)) {
throw new TaskException(
__CLASS__,
'Provided argument value is invalid.'
);
}
$this->option('tail', $value);
return $this;
}
}

59
src/Task/Ps.php Normal file
View File

@@ -0,0 +1,59 @@
<?php
namespace Droath\RoboDockerCompose\Task;
use Droath\RoboDockerCompose\DockerServicesTrait;
/**
* Define the docker composer ps command.
*/
class Ps extends Base
{
use DockerServicesTrait;
/**
* {@inheritdoc}
*/
protected $action = 'ps';
/**
* Only display IDs.
*
* @return $this
*/
public function quiet()
{
$this->option('quiet');
return $this;
}
/**
* Display services.
*
* @return $this
*/
public function services()
{
$this->option('services');
return $this;
}
/**
* Filter services by a property.
*
* @param string $key
* The filter property key.
* @param string $value
* The filter property value.
*
* @return $this
*/
public function filter($key, $value)
{
$this->option('filter', "{$key}={$value}");
return $this;
}
}

66
src/Task/Pull.php Normal file
View File

@@ -0,0 +1,66 @@
<?php
namespace Droath\RoboDockerCompose\Task;
use Droath\RoboDockerCompose\DockerServicesTrait;
/**
* Define Docker compose pull command.
*/
class Pull extends Base
{
use DockerServicesTrait;
/**
* {@inheritdoc}
*/
protected $action = 'pull';
/**
* Pull what it can and ignores images with pull failures.
*
* @return $this
*/
public function ignoreFailures()
{
$this->option('ignore-pull-failures');
return $this;
}
/**
* Pull multiple images in parallel.
*
* @return $this
*/
public function parallel()
{
$this->option('parallel');
return $this;
}
/**
* Pull without printing progress information.
*
* @return $this
*/
public function quiet()
{
$this->option('quiet');
return $this;
}
/**
* Also pull services declared as dependencies.
*
* @return $this
*/
public function includeDeps()
{
$this->option('include-deps');
return $this;
}
}

View File

@@ -15,6 +15,22 @@ trait loadTasks
return $this->task(Up::class, $pathToDockerCompose);
}
/**
* Docker compose ps task.
*/
protected function taskDockerComposePs($pathToDockerCompose = null)
{
return $this->task(Ps::class, $pathToDockerCompose);
}
/**
* Docker compose logs task.
*/
protected function taskDockerComposeLogs($pathToDockerCompose = null)
{
return $this->task(Logs::class, $pathToDockerCompose);
}
/**
* Docker compose down task.
*/
@@ -31,6 +47,14 @@ trait loadTasks
return $this->task(Pause::class, $pathToDockerCompose);
}
/**
* Docker compose pull task.
*/
protected function taskDockerComposePull($pathToDockerCompose = null)
{
return $this->task(Pull::class, $pathToDockerCompose);
}
/**
* Docker compose start task.
*/
@@ -54,5 +78,4 @@ trait loadTasks
{
return $this->task(Execute::class, $pathToDockerCompose);
}
}