Robô
SuiteCRM utiliza tarefas Robô para fornecer automação para tarefas comuns.
Listando as tarefas automatizadas disponíveis no Robô
Linux:
Abra o terminal bash e execute o robô
./vendor/bin/robo list
Você obtém ajuda para cada tarefa usando:
./vendor/bin/robo [nome da tarefa] -h
Janelas:
Abra o prompt de comando e execute o robô
. \ vendor \ bin \ lista robo
Você pode obter ajuda para cada tarefa usando:
. \ vendor \ bin \ robo [nome da tarefa] -h
Fazendo suas próprias tarefas Robô personalizadas
Você pode criar comandos personalizados para SuiteCRM no diretório / lib / Robô / Plugin / Commands / customizado. Por exemplo, você pode ter um arquivo chamado custom / lib / Robô / Plugin / Commands / DeployCommands.php com algumas tarefas personalizadas para implantar o SuiteCRM.
Você pode usar qualquer função do Robô dentro da tarefa, consulte a documentação do Robô para obter mais informações sobre o que o Robô oferece.
Você também pode usar as várias funções de script do PHP, como exec.
Aqui está um exemplo de tarefa Robô:
<?php
namespace SuiteCRM\Custom\Robo\Plugin\Commands;
use Robo\Task\Base\loadTasks;
class DeployCommands extends \Robo\Tasks
{
use loadTasks;
/** * This Robo task will deploy a given git branch. * * @param array $opts * @option $branch The branch to deploy, e.g. master, development, etc. * @usage deploy --branch=master */ public function deploy(array $opts = ['branch' => 'master']) { // You can print to stdout with $this->say $this->say("Hello, world."); // Or get values from the user with $this->ask $name = $this->ask("What is your name?"); // Run arbitrary shell commands, e.g. git. $this->_exec("git fetch"); // You can fail the task at any time with a RuntimeException. $check = true; if ($check !== true) { throw new \RuntimeException("Unable to continue, check failed!"); } // You can also use Symfony Console's io methods to provide better styling for your Robo tasks. $checkedFiles = ['file.txt', 'file2.txt']; $this->io()->section("{count($checkedFiles)} checked files"); $this->io()->listing($checkedFiles); // Or use the io methods to show success or error messages. $this->io->success('Success!'); $this->io->error('Failed!'); // Read more about Symfony Console in the documentation: // https://symfony.com/doc/current/console/style.html } }
Como mencionado acima, você pode usar ./vendor/bin/robo list para listar todos os comandos Robô disponíveis, incluindo suas tarefas personalizadas. Você pode precisar executar composer install para ter certeza de que Composer instalou Robô, e você também precisará executar composer dump-autoload ao adicionar uma nova tarefa Robô para ter certeza de que Composer pega os novos arquivos.