SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Renato Vasconcellos Gomes
renato@taller.net.br
Drush
O poder do Drupal
na linha de comando
O que vem pela frente?
● O que é Drush
● Instalação
● Documentação
● Links interessantes
● Comandos basicos
● Comandos Personalizados
● Drush make
● Drush para Devs
● Extras
O QUE É DRUSH?
Drush é uma interface
de linha de comando
para o Drupal.
drush.org
PORQUE USAR?
Aumento de
Produtividade
Drush: More beer, less effort
vimeo.com/5207683
● Executar consultas SQL
● Migrações de banco de dados
● Backups
● Recuperar/redefinir senhas
● Execução da cron
● Automação de rotinas
● Comandos personalizados
● Etc
Algumas possibilidades...
Instalação
$ cd $HOME
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
Composer
$ composer global require drush/drush:7.*
$ sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"'
$HOME/.bashrc
$ source $HOME/.bashrc
Drush via Composer
Documentação
Oficial
drush.org
Comunidade
drushcommands.com
IRC
#drush
freenode.org
COMANDOS
BÁSICO
$ drush si standard --db-url=mysql://root:pass@host/db
$ drush ucrt user_name --password=123456
$ drush urol administrator --name=user_name
$ drush arquive-dump default
$ drush sqlq “select * from system”
COMANDOS
PERSONALIZADOS
function my_module_drush_command() {
$items = array();
$items['custom-command'] = array(
‘description’ => ‘My custom command’,
‘alias’ => array(‘ccm’),
);
return $items;
}
function drush_custom_command() {
/* Your code here */
}
my_module.drush.inc
DRUSH MAKE
DRUPAL 7
# Drush make example - Install Drupal 7
core = 7.x
api = 2
projects[] = drupal
https://raw.githubusercontent.com/drush-ops/drush/master/examples/example.make
COMO USAR
$ cd path/to/drupal
$ drush make path/to/file/file_name.make
Site Aliases
$aliases[local] = array(
'uri' => 'example.local',
'root' => str_replace('drush/aliases', 'docroot', dirname
(__FILE__)),
);
$aliases['stage'] = array(
'uri' => 'stage.example.com',
'root' => '/var/www/stage.example.com/docroot',
'remote-host' => 'example.com',
'remote-user' => 'user',
);
project.aliases.drushrc.php
COMO USAR
$ cd path/to/drupal
# Limpar todos os caches de Stage remotamente.
$ drush @project.stage cc all
# importar DB de Stage para Local.
$ drush sql-sync @project.stage @project.local
Módulos
Complementares
Módulo
Módule builder
drupal.org/project/module_builder
Módulo Genova
drupal.org/project/genova
Módulo
Drush Clone
drupal.org/project/drush_clone
Módulo
Drush Entity
drupal.org/project/drush_entity
Módulo
Drush Issue
Queue Commands
drupal.org/project/drush_iq
E NO DRUPAL 8?
DRUPAL CONSOLE
drupalconsole.com
drupalconsole.com
● @revagomes
● about.me/revagomes
● renato@taller.net.br
Obrigado!

Contenu connexe

Tendances

Introduction to SASS
Introduction to SASSIntroduction to SASS
Introduction to SASS
Jon Dean
 
Audio Urls For Testing
Audio Urls For TestingAudio Urls For Testing
Audio Urls For Testing
guru09
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
Léo Dias
 

Tendances (20)

Introduction to SASS
Introduction to SASSIntroduction to SASS
Introduction to SASS
 
Bootstrap 5 whats new
Bootstrap 5   whats newBootstrap 5   whats new
Bootstrap 5 whats new
 
Audio Urls For Testing
Audio Urls For TestingAudio Urls For Testing
Audio Urls For Testing
 
Licenças cc
Licenças ccLicenças cc
Licenças cc
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 
Curso MySQL #07 - Manipulando Registros DELETE UPDATE
Curso MySQL #07 - Manipulando Registros DELETE UPDATECurso MySQL #07 - Manipulando Registros DELETE UPDATE
Curso MySQL #07 - Manipulando Registros DELETE UPDATE
 
Melhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySqlMelhorando o desempenho de suas consultas no MySql
Melhorando o desempenho de suas consultas no MySql
 
Curso MySQL #15 - Chaves Estrangeiras e SELECT com JOIN
Curso MySQL #15 - Chaves Estrangeiras e SELECT com JOINCurso MySQL #15 - Chaves Estrangeiras e SELECT com JOIN
Curso MySQL #15 - Chaves Estrangeiras e SELECT com JOIN
 
Crud
CrudCrud
Crud
 
Welcome to Blazor
Welcome to BlazorWelcome to Blazor
Welcome to Blazor
 
High Availability with MongoDB for Fun and Profit
High Availability with MongoDB for Fun and ProfitHigh Availability with MongoDB for Fun and Profit
High Availability with MongoDB for Fun and Profit
 
Curso MySQL #01 - Surgimento dos Bancos de Dados
Curso MySQL #01 - Surgimento dos Bancos de DadosCurso MySQL #01 - Surgimento dos Bancos de Dados
Curso MySQL #01 - Surgimento dos Bancos de Dados
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Javascript aula 01 - visão geral
Javascript   aula 01 - visão geralJavascript   aula 01 - visão geral
Javascript aula 01 - visão geral
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
 
Bibliotecas c
Bibliotecas cBibliotecas c
Bibliotecas c
 
Projeto para WEB
Projeto para WEBProjeto para WEB
Projeto para WEB
 
Doing Joins in MongoDB: Best Practices for Using $lookup
Doing Joins in MongoDB: Best Practices for Using $lookupDoing Joins in MongoDB: Best Practices for Using $lookup
Doing Joins in MongoDB: Best Practices for Using $lookup
 
HBase replication
HBase replicationHBase replication
HBase replication
 
Deep Dive Spider Engine
Deep Dive Spider EngineDeep Dive Spider Engine
Deep Dive Spider Engine
 

En vedette

Introdução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de softwareIntrodução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de software
Jaime Schettini
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
Robson Silva Espig
 

En vedette (9)

Vocabularios en Drupal 7.15
Vocabularios en Drupal 7.15Vocabularios en Drupal 7.15
Vocabularios en Drupal 7.15
 
UnP Eng. Software - Aula 5
UnP Eng. Software - Aula 5UnP Eng. Software - Aula 5
UnP Eng. Software - Aula 5
 
DrupalCamp Lisboa 2011
DrupalCamp Lisboa 2011DrupalCamp Lisboa 2011
DrupalCamp Lisboa 2011
 
Boas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupalBoas práticas para deploy contínuo com drupal
Boas práticas para deploy contínuo com drupal
 
Introdução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de softwareIntrodução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de software
 
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
 
Feature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testávelFeature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testável
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Team building - Software depende de relacionamento
Team building  - Software depende de relacionamentoTeam building  - Software depende de relacionamento
Team building - Software depende de relacionamento
 

Similaire à Drush - O poder do Drupal na linha de comando

Drupal workshop ist 2014
Drupal workshop ist 2014Drupal workshop ist 2014
Drupal workshop ist 2014
Ricardo Amaro
 
Drupal 7 Direto das Trincheiras
Drupal 7  Direto das TrincheirasDrupal 7  Direto das Trincheiras
Drupal 7 Direto das Trincheiras
Rafael Caceres
 

Similaire à Drush - O poder do Drupal na linha de comando (20)

Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
MigraçãO
MigraçãOMigraçãO
MigraçãO
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Drupal workshop ist 2014
Drupal workshop ist 2014Drupal workshop ist 2014
Drupal workshop ist 2014
 
Drupal 7 Direto das Trincheiras
Drupal 7  Direto das TrincheirasDrupal 7  Direto das Trincheiras
Drupal 7 Direto das Trincheiras
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 
PHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicaçõesPHP e a (in)segurança de aplicações
PHP e a (in)segurança de aplicações
 
Docker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG CabreúvaDocker Para Maiores - GDG Cabreúva
Docker Para Maiores - GDG Cabreúva
 
Introdução ao Docker
Introdução ao DockerIntrodução ao Docker
Introdução ao Docker
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
Fundamentos de Programação Front-End
Fundamentos de Programação Front-EndFundamentos de Programação Front-End
Fundamentos de Programação Front-End
 
Docker - minicurso utfpr 2017
Docker -  minicurso utfpr 2017Docker -  minicurso utfpr 2017
Docker - minicurso utfpr 2017
 
Apresentação zend framework 2 parte 1
Apresentação zend framework 2   parte 1 Apresentação zend framework 2   parte 1
Apresentação zend framework 2 parte 1
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 
Opennebula instalação
Opennebula instalaçãoOpennebula instalação
Opennebula instalação
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutos
 
Arquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQLArquitetando Soluções de Dados com PostgreSQL
Arquitetando Soluções de Dados com PostgreSQL
 
Redis um banco chave valor
Redis um banco chave valorRedis um banco chave valor
Redis um banco chave valor
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 

Plus de Renato Vasconcellos Gomes

Construindo um site com drupal sem saber programar.
Construindo um site com drupal sem saber programar.Construindo um site com drupal sem saber programar.
Construindo um site com drupal sem saber programar.
Renato Vasconcellos Gomes
 

Plus de Renato Vasconcellos Gomes (7)

Workshop - Construindo um site com drupal sem saber programar.
Workshop - Construindo um site com drupal sem saber programar.Workshop - Construindo um site com drupal sem saber programar.
Workshop - Construindo um site com drupal sem saber programar.
 
Construindo um site com drupal sem saber programar.
Construindo um site com drupal sem saber programar.Construindo um site com drupal sem saber programar.
Construindo um site com drupal sem saber programar.
 
Drupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush makeDrupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush make
 
introdução ao drupal
introdução ao drupalintrodução ao drupal
introdução ao drupal
 
Drupal a escolha certa para o seus próximos projetos
Drupal   a escolha certa para o seus próximos projetosDrupal   a escolha certa para o seus próximos projetos
Drupal a escolha certa para o seus próximos projetos
 
Drupal a escolha certa para os seus projetos
Drupal   a escolha certa para os seus projetosDrupal   a escolha certa para os seus projetos
Drupal a escolha certa para os seus projetos
 
Perfis de instalação e distribuições no drupal
Perfis de instalação e distribuições no drupalPerfis de instalação e distribuições no drupal
Perfis de instalação e distribuições no drupal
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Drush - O poder do Drupal na linha de comando