É hora dos desenvolvedores construírem infraestrutura facilmente. O Ansible é uma ferramenta poderosa para construir ambientes que facilita a construção de um ambiente.
Existem várias outras ferramentas para construir um ambiente, como chef, puppet e docker, mas por favor, consulte o artigo que escrevi antes para entender por que escolhi o Ansible.
Frameworks PHP como Lalavel, o clássico CakePHP e o ultra-rápido Phalcon se tornaram populares nos últimos anos, mas o motivo pelo qual escolhi o FuelPHP é por causa de seus recursos ricos e muita informação em japonês. Eu simplesmente gosto.
De agora em diante, gostaria de apresentar o know-how do desenvolvimento usando FuelPHP + Ansible na seguinte ordem.
- Parte 1: Instalação do FuelPHP
- Parte 2: Modo de Manutenção de Comutação
- Parte 3: Implantação
- Parte 4: Configuração e precauções durante a operação de desenvolvimento/produção
Vou explicar com base no seguinte ambiente de desenvolvimento. Também é para quem conhece o conceito de Ansible.
- MacOS X 10.10.2
- ansible 1.7.2
- FuelPHP 1.7
※ Existem muitas instruções de instalação do ansible se você pesquisar no Google, então vou omitir.
Para rodar o playbook para instalar o FuelPHP no Ansible, você precisa escrever os passos em ~/papel/nome do papel/subordinado no formato yaml. A seguir está o conteúdo do processo de ~/nome do papel/tarefa/tarefa/main.yml.
- nome: (1) Copiar o código do repositório
git: repo={{ repositório }} dest={{ root_dir }} accept_hostkey=sim
Sudo: Não
- nome: (2) Autoatualização do Controlador
shell: php composer.phar autoatualização chdir={{ root_dir }}
- Nome: (3) Atualização do Fabricante
shell: php composer.phar update chdir={{ root_dir }}
- nome: (4)conjunto fuel_env.
shell: env FUEL_ENV=production php oil -v chdir={{ root_dir }}
- nome: (5) criar link.
arquivo: path={{document_root_path}} src={{fuel_public_dir_path}} state=link
- Nome: (6)Migração de dB.
shell: FUEL_ENV=produção PHP refinação de petróleo migrar chdir={{ fuel_dir_path }}
O {{ }} usado no processo contém o nome da variável. A definição da variável está escrita em /role/rolename/vars/main.yml. O conteúdo acima é
# nome do repositório github fuelPHP
repositório: git@github.com:fuel/fuel.git
# DIR onde o corpo fonte é armazenado
root_dir: /var/www/
# Nome do DIR para FuelPHP
fuel_dir_path: /var/www/test
# Nome público do DIR FuelPHP
fuel_public_dir_path: /var/www/test/public
# Nome do DIR da raiz do documento
document_root_path: /var/www/html/public
Na ordem de processamento, (1) Baixe o código-fonte FuelPHP do github. (2) Atualize o próprio fabricante (3) Instale a parte central do FuelPHP com o controlador (4) Defina produção e defina para a variável ambiente FUEL_ENV (especifique produção) (5) Cole um link simbólico sob o diretório público do FuelPHP na raiz do documento (6) Gere automaticamente uma tabela migrando o FuelPHP
Este é o conteúdo do papel para instalar o FuelPHP no Ansible. Em seguida, vamos escrever o processo de execução do playbook.
~/fuelphp.yml especifica o nome do Papel a ser executado no playbook.
- nome: instalar FuelPHP.
Apresentadores: ec2_web01
Sudo: Sim
remote_user: raiz
Papéis:
- Nome do quadro
Em seguida, crie um arquivo de inventário. Defina o IP do servidor onde você quer rodar o Ansible em um arquivo chamado host.
[ec2_web01]
00.00.000.000
Por fim, apenas faça o playbook.
ansible-playbook - eu anfitrião fuelphp.yml
Até agora, implementamos os procedimentos de instalação necessários para o desenvolvimento do FuelPHP no código Ansible. Acho que a ideia de infraestrutura imutável é que, ao visualizar procedimentos de instalação de middleware e procedimentos de construção do ambiente dessa forma, é mais fácil compartilhar informações entre os membros da equipe e economizar tempo e esforço na construção. Vamos adotar ativamente o Ansible e aumentar a eficiência do desenvolvimento!
Na próxima vez, vou introduzir um modo de manutenção super fácil e rápido usando Ansible+FuelPHP.