Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Tutoriais
Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Tutoriais

Configurar um ambiente de desenvolvimento usando Cloud Application Manager e Vagrant


Código do artigo: kb/415

Configurar um ambiente de desenvolvimento usando Cloud Application Manager e Vagrant

Nestes 0 minutos de instruções passo a passo, aprenda como iniciar ambientes de desenvolvimento e teste prontos para produção a partir de caixas no seu laptop usando o Agente do Cloud Application Manager . Com as caixas, você pode iniciar ambientes de desenvolvimento da mesma forma que a produção, permitindo que os desenvolvedores testem as mudanças realisticamente.

Cenário

Vamos definir um ambiente de desenvolvimento Rails em caixas e lançá-los usando o Agente Cloud Application Manager no seu laptop Mac executando uma máquina virtual no Vagrant e no VirtualBox. O ambiente é baseado em uma amostra de aplicativo Ruby on Rails que usa o MySQL como um banco de dados.

Objetivos do aprendizado

Este tutorial o ajuda a aprender estes conceitos:

  • Defina qualquer módulo ou aplicativo em caixas. Se houver mudanças no ambiente no futuro, você só precisa alterar a caixa e não precisa alterar o laptop de todos os desenvolvedores.
  • Prepare os aplicativos nas caixas em qualquer infraestrutura, como o seu laptop usando o script Linux Bash do agente do Cloud Application Manager.
  • Trabalhe com o Cloud Application Manager e o Vagrant para iniciar ambientes locais. Execute aplicativos dentro de uma máquina virtual para isolar e proteger seu laptop de um sistema operacional e tempo de execução diferentes.

Vamos começar:

  • Antes de começar
  • Defina o ambiente de desenvolvedor em caixas
  • Inicie o ambiente de desenvolvedor usando o Agente do Cloud Application Manager
  • Verifique o ambiente de desenvolvedor

Antes de começar

Para começar, configure o seguinte:

  1. Faça uma conta no Cloud Application Manager.

  2. Use um aplicativo Rails de amostra deste repositório GitHub . Faça o clone no seu laptop Mac, conforme mostrado. Isso cria uma cópia local do aplicativo Rails de amostra.

    tutorial-vagrant-1.png

    tutorial-vagrant-1-2.png

  3. Instale o VirtualBox, um virtualizador de fonte aberta gratuito para executar no seu ambiente de desenvolvimento Para instalar, execute este comando no seu terminal laptop Mac:

    brew cask install virtualbox
    
  4. Instale o Vagrant no seu laptop Mac para isolar seu ambiente de desenvolvimento no VirtualBox:

    brew cask install vagrant
    
  5. Instale um Ubuntu do Vagrant 0. 1 Imagem Linux:

    vagrant box add ubuntu/trusty64 https://vagrantcloud.com/ubuntu/boxes/trusty64
    
  6. Crie um Vagrantfile que usaremos mais tarde para provisionar a imagem:

    vagrant init ubuntu/trusty64
    

Defina o ambiente de desenvolvimento em caixas

Faça login no Cloud Application Manager e defina módulos do ambiente de desenvolvimento Rails em várias  caixas e no final coloque-as em pilha em uma única caixa.

Caixas Nodejs

Isso instala o tempo de execução de Javascript para o aplicativo Rails.

Etapas

  1. Crie uma nova caixa chamada Nodejs baseada no Linux Compute.

  2. Adicione uma variável de opções chamada APT_GET_UPDATE com um valor não .

tutorial-vagrant-1-3.png

  1. Copie/cole este script em um evento de instalação :

tutorial-vagrant-1-4.png

```
#!/bin/bash

{{ 'apt-get update' if APT_GET_UPDATE == 'yes' }}
apt-get -q -y install nodejs

```

tutorial-vagrant-2.png


Caixa de dependências do aplicativo Rails

Isso instala todas as dependências do aplicativo Rails.

Etapas

  1. Crie uma nova caixa chamada dependências do Rails baseada no Linux Compute.

  2. Adicione as seguintes variáveis:

    • Variável de porta chamada http definido como 0 .
    • Variável de caixa chamada Ruby apontando para a caixa padrão Ruby .
    • Variável de caixa chamada Nodejs apontando para a caixa Nodejs .

    tutorial-vagrant-3.png


Rails com GitHub Box

Etapas

  1. Crie uma nova caixa chamada Rails com GitHub baseada no Linux Compute.

  2. Adicione estas variáveis de caixa:

    • Variável de caixa chamada Rails apontando para a caixa dependências do Rails .
    • Variável de caixa chamada GitHub apontando para a caixa GitHub .

    tutorial-vagrant-4.png


Caixa MySQL Ubuntu 

Isso instala o servidor MySQL e cria um banco de dados.

Etapas

  1. Crie uma nova caixa chamada MySQL Ubuntu baseada no Linux Compute.

  2. Adicione as seguintes variáveis:

    • Variável de opções chamada APT_GET_UPDATE definida como sim
    • Variável de texto chamada BIND_ADDRESS definida como 0. 1. 2. 3
    • Variável de texto chamada DATA_DIR definida como /var/lib/mysql
    • Variável de texto chamada LOG_ERROR definida como /var/log/mysql/error.log
    • Variável de texto chamada MAX_ALLOWED_PACKET definida como 0 M
    • Variável de texto chamada MAX_CONNECTIONS definida como 0
    • Variável de porta chamada MYSQL_PORT definida como 0
    • Variável de texto chamada ROOT_PASSWORD definida como Elasticbox 0
    • Variável de arquivo chamada my_cnf com este script carregado como um arquivo de texto:
      #
    # The MySQL database server configuration file.
    #
    # You can copy this to one of:
    # - "/etc/mysql/my.cnf" to set global options,
    # - "~/.my.cnf" to set user-specific options.
    #
    # One can use all long options that the program supports.
    # Run program with --help to get a list of available options and with
    # --print-defaults to see which it would actually understand and use.
    #
    # For explanations see
    # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
    #
    # This will be passed to all mysql clients
    # It has been reported that passwords should be enclosed with ticks/quotes
    # especially if they contain "#" chars...
    # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
    [client]
    port    = {{ MYSQL_PORT }}
    socket    = /var/run/mysqld/mysqld.sock
    #    
    # Here is entries for some specific programs
    # The following values assume you have at least 32M ram
    
    # This was formally known as [safe_mysqld]. Both versions are currently parsed.
    [mysqld_safe]
    socket    = /var/run/mysqld/mysqld.sock
    nice    = 0
    
    [mysqld]
    #
    # * Basic Settings
    #
    user    = mysql
    pid-file  = /var/run/mysqld/mysqld.pid
    socket    = /var/run/mysqld/mysqld.sock
    port    = {{ MYSQL_PORT }}
    basedir   = /usr
    datadir   = /var/lib/mysql
    tmpdir    = /tmp
    lc-messages-dir = /usr/share/mysql
    skip-external-locking
    #
    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    bind-address    = {{ BIND_ADDRESS }}
    #
    # * Fine Tuning
    #
    key_buffer    = 16M
    max_allowed_packet  = {{ MAX_ALLOWED_PACKET }}
    thread_stack    = 192K
    thread_cache_size       = 8
    # This replaces the startup script and checks MyISAM tables if needed
    # the first time they are touched
    myisam-recover         = BACKUP
    #max_connections        = {{ MAX_CONNECTIONS }}
    #table_cache            = 64
    #thread_concurrency     = 10
    #
    # * Query Cache Configuration
    #
    query_cache_limit = 1M
    query_cache_size        = 16M
    #
    # * Logging and Replication
    #
    # Both location gets rotated by the crontab.
    # Be aware that this log type is a performance killer.
    # As of 5.1 you can enable the log at runtime!
    #general_log_file        = /var/log/mysql/mysql.log
    #general_log             = 1
    #
    # Error log - should be very few entries.
    #
    log_error = {{ LOG_ERROR }}
    #
    # Here you can see queries with especially long duration
    #log_slow_queries = /var/log/mysql/mysql-slow.log
    #long_query_time = 2
    #log-queries-not-using-indexes
    #
    # The following can be used as easy to replay backup logs or for replication.
    # Note: If you are setting up a replication slave, see README.Debian about
    #       other settings you may need to change.
    #server-id    = 1
    #log_bin      = /var/log/mysql/mysql-bin.log
    expire_logs_days  = 10
    max_binlog_size         = 100M
    #binlog_do_db   = include_database_name
    #binlog_ignore_db = include_database_name
    #
    # * InnoDB
    #
    # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
    # Read the manual for more InnoDB related options. There are many!
    #
    # * Security Features
    #
    # Read the manual, too, if you want chroot!
    # chroot = /var/lib/mysql/
    #
    # For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
    #
    # ssl-ca=/etc/mysql/cacert.pem
    # ssl-cert=/etc/mysql/server-cert.pem
    # ssl-key=/etc/mysql/server-key.pem
    
    [mysqldump]
    quick
    quote-names
    max_allowed_packet  = {{ MAX_ALLOWED_PACKET }}
    
    [mysql]
    #no-auto-rehash # faster start of mysql but no tab completion
    
    [isamchk]
    key_buffer    = 16M
    
    #
    # * IMPORTANT: Additional settings that can override those from this file!
    #   The files must end with '.cnf', otherwise they'll be ignored.
    #
    !includedir /etc/mysql/conf.d/
    
  3. Copie/cole o seguinte script em um evento de instalação :

      #!/bin/bash
    {{ 'apt-get update' if APT_GET_UPDATE == 'yes' }}
    export DEBIAN\_FRONTEND=noninteractive
    apt-get -q -y install mysql-server
    elasticbox config -i config/database.template.yml -o config/database.yml
    # Set Password
    mysqladmin -u root password {{ ROOT_PASSWORD }}
    
    # Make accessible from all ips
    mysql -uroot -p{{ ROOT_PASSWORD }} --execute "GRANT ALL PRIVILEGES ON *.* to 'root'@'%'; FLUSH PRIVILEGES;"
    

    tutorial-vagrant-5.png


Caixa do ambiente de desenvolvimento Rails

Esta caixa instala um ambiente de desenvolvimento com o aplicativo Rails, os tempos de execução e o banco de dados MySQL.

Etapas

  1. Crie uma nova caixa chamada ambienete de desenvolvimento Rails  baseada no Linux Compute.

  2. Adicione as seguintes variáveis:

    • Variável de caixa chamada MySQL que aponta para a caixa MySQL Ubuntu
    • Variável de caixa chamada Rails que aponta para a caixa Rails com GitHub
  3. Expanda a variável da caixa Rails até a caixa Ruby. Defina RVM_RUBY_VERSION como Ruby - 0. 1. 2 - p 3 .

  4. Expanda a variável da caixa do GitHub e, na caixa git_repo, defina valores para essas variáveis da seguinte forma:

    • FILIAL ao mestre
    • CLONE_DIRECTORY para / Vagrant
    • CLONE_URL para https://github.com/ & lt; your_fork_of_the_sample_Rails_app & gt;
  5. Copie/cole este script em um evento configurar :

    #!/bin/bash
    source "/usr/local/rvm/scripts/rvm"
    cd {{ rails.github.git_repo.CLONE_DIRECTORY }}
    cp config/database.yml.example config/database.yml
    
    # ruby dev packages to support building gems from source
    apt-get -y install ruby2.0-dev libreadline-ruby2.0 libruby2.0 libopenssl-ruby
    
    # nokogiri requirements
    apt-get -y install libxslt-dev libxml2-dev
    
    # app specific
    bundle install --without production
    bundle exec rake db:migrate
    
  6. Copie/cole este script em um evento pre_start:

    #!/bin/bash
    source "/usr/local/rvm/scripts/rvm"
    cd {{ rails.github.git_repo.CLONE_DIRECTORY }} && rails server -p {{ rails.rails.http }} -d
    

    tutorial-vagrant-6.png


Inicie o ambiente de desenvolvimento usando o agente do Cloud Application Manager

Inicie a caixa do ambiente de desenvolvimento Rails na  máquina virtual no seu laptop Mac em execução no Vagrant e no VirtualBox da seguinte forma.

Etapas

  1. Procure o Vagrantfile no seu laptop Mac. Abra e substitua o conteúdo por essas linhas. Eles pedem ao Vagrant para provisionar a imagem do LInux Ubuntu com a caixa do ambiente de desenvolvimento do Rails usando o script do agente:

    IMPORTANTE. IMPORTANTE : substitua o token no sinalizador-t pelo seu próprio token de autenticação.

    # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
    VAGRANTFILE_API_VERSION = "2"
    
    Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    # All Vagrant configuration is done here. The most common configuration
    # options are documented and commented below. For a complete reference,
    # please see the online documentation at vagrantup.com.
    
    # Every Vagrant virtual environment requires a box to build off of.
    config.vm.box = "ubuntu/trusty64"
    config.vm.network "forwarded_port", guest: 3000, host: 3100
    config.vm.provision :shell, inline: 'curl -sSL https://cam.ctl.io | sudo bash -s -- -b "Rails Dev Env" -n laptop -t 04329c63-78b7-4313-bc09-8090e3a7e93d'
    
    end
    
  2. Mova o Vagrantfile para a pasta sample_app_rails_ 0 clonada em seu laptop Mac. Confirme e envie por push essa alteração para o repositório bifurcado no GitHub.

    tutorial-vagrant-7.png

  3. No seu terminal do laptop Mac, vá para o diretório sample_app_rails_ 0, como neste exemplo:

    cd /Users/cristina/sample_app_rails_4
    
  4. Traga a imagem do Vagrant Ubuntu para o VirtualBox e iniciar o ambiente de desenvolvimento Rails com este comando:

    vagrant up
    

    A caixa é provisionada pelo Vagrantfile e se registra no Cloud Application Manager. Verifique seu espaço de trabalho do Cloud Application Manager para ver a instância on-line do ambiente de desenvolvimento do Rails. Isso pode levar alguns minutos.

    tutorial-vagrant-8.png

  5. Uma vez on-line, a partir da instância na aba pontos de extremidade , copie o endereço IP do aplicativo Rails.

    tutorial-vagrant-9.png

  6. No laptop Mac, SSH na sua máquina virtual Vagrant no diretório sample_app_rails_ 0:

    vagrant ssh
    
  7. Abra o aplicativo Rails na máquina virtual usando o xdg-open. Se você não tiver o xdg-utils, instale-o primeiro conforme mostrado.

    sudo apt install xdg-utils
    
    xdg-open
    

    tutorial-vagrant-10.png


Verificar o ambiente de desenvolvimento

Vamos agora executar alguns testes para verificar se o ambiente de desenvolvimento está funcionando.

Etapas

  1. Abra um novo terminal no seu laptop Mac e acesse ​​​​​​​o diretório sample_app_rails_ 0.

  2. SSH na máquina virtual:

    vagrant ssh
    
  3. Vá para este diretório Vagrant:

    cd /vagrant
    
  4. Migrar os testes do Rails da seguinte forma:

    bin/rake db:migrate RAILS_ENV=test
    
  5. Finalmente, execute testes com este comando:

    rspec spec
    

Você deve ver todos os testes passarem. Parabéns! Parabéns! Você foi bem-sucedido em implementar um ambiente de desenvolvimento Rails no seu seu laptop usando o Cloud Application Manager e o Vagrant.

tutorial-vagrant-11.png

Para sair do ambiente virtual do Vagrant, execute este comando:

exit

Depois de concluir o tutorial, lembre-se de finalizar a instância em seu espaço de trabalho do Cloud Application Manager selecionando o ícone da engrenagem clicando em encerrar . Em seguida, exclua a máquina virtual do Vagrant com este comando:

vagrant destroy

Como contatar o suporte do Cloud Application Manager

Lamentamos que você tenha encontrado um problema com o Cloud Application Manager. Consulte as dicas de troubleshooting ou entre em contato com o suporte do Cloud Application Manager e apresente detalhes e capturas de tela, conforme possível.

Para problemas relacionados a chamadas de API, envie o corpo da solicitação junto com os detalhes referentes ao problema.

Em caso de erro de caixa, compartilhe a caixa no espaço de trabalho que sua organização e o Cloud Application Manager podem acessar e anexe os registros.

  • Linux: SSH e localize o registro em /var/log/elasticbox/elasticbox-agent.log
  • Windows: RDP na instância para localizar o registro em ProgramData/ElasticBox/Logs/elasticbox-agent.log
Powered by Translations.com GlobalLink OneLink SoftwarePowered By OneLink