Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Automatização de implementações
Base de conhecimento  /  Gerenciador de aplicativos em nuvem  /  Automatização de implementações

Comandos do Cloud Application Manager

Atualizado por Julio Castanar em dez 28, 2018
Código do artigo: kb/385

Neste artigo:

Visão geral

Este artigo se destina a auxiliar os clientes do Cloud Application Manager que desejam criar e gerenciar script boxes.
Ele explica como usar os Comandos nos scripts.
Os comandos set e config são úteis para gerar valores dinâmicos para as variáveis em sua caixa no momento da implementação.
O comando notify é útil para permitir que outras instâncias respondam a essas alterações.

Público

Usuários do Cloud Application Manager que utilizam recursos de Application Lifecycle Management (ALM - gerenciamento de ciclo de vida de aplicativos).

Pré-requisitos

  • Acesso ao site Applications (módulo Application Lifecycle Management) do Cloud Application Manager como um usuário autorizado de uma conta ativa do Cloud Application Manager.

Comando set

Use o comando para definir de modo programático o valor de variáveis que você não conhece antecipadamente, como as chaves de autenticação.
Faça isso na caixa primária para definir os valores dessas variáveis ou das variáveis nos scripts das caixas secundárias.

Sintaxe

Para definir o valor de uma variável de caixa primária:

elasticbox set <variable_name> <variable_value> -box <box_name>

Para definir o valor de uma variável de caixa secundária na primária:

elasticbox set <childbox_variable_name>.<variable_name> <variable_value> -box <box_name>
Parâmetro Tipo Descrição
box Cadeia Opcional. Nome da caixa para executar o comando a partir de SSHing na instância da caixa primária implementada. O parâmetro pode incluir referências a caixas secundárias aninhadas.

Exemplo

Este script de evento usa o comando set para gerar uma cadeia dinâmica baseada nas variáveis de senha, endereço e nome de usuário. No momento da implementação, quando o script é executado, o valor resultante armazenado em MONGODB_CONNECTION_STRING é usado para fazer login na instância MongoDB.

elasticbox set MONGODB_CONNECTION_STRING "mongodb://$user:$pass@$address.public:27017/elasticbox?safe=true"

Comando config

Use o comando config nas variáveis de arquivo para gerar valores dinâmicos durante a implementação. Normalmente, uma variável de arquivo tem scripts adicionais para configurar seu aplicativo. Para que o Cloud Application Manager conheça quais valores dinâmicos ele deve retornar, inclua variáveis ou referências de associação nos arquivos. Em seguida, invoque o arquivo a partir de um evento usando o comando config.

Para inserir o arquivo na máquina virtual, use comandos como cURL ou Wget. Durante a implementação, o Cloud Application Manager substitui as variáveis ou referências de associação por valores de configuração, executa o arquivo e armazena o resultado em um arquivo de saída.

Sintaxe

elasticbox config -i <input_file> -o <output_file> -box <box_name> -t <template_engine>
Parâmetro Tipo Descrição
i Cadeia Opcional. Arquivo de entrada para executar o comando config. Quando você não especifica, o comando lê os dados da entrada padrão.
o Cadeia Opcional. Arquivo de saída que armazena os valores de configuração. Quando você não especifica, o comando direciona os dados para a saída padrão.
box Cadeia Opcional. Nome da caixa para executar o comando a partir de SSHing na instância da caixa primária implementada.
t Cadeia Opcional. Tipo de mecanismo de modelo, que é Jinja2 ou Velocity. Se você definir esse indicador, o comando apresentará os valores das variáveis que correspondem ao tipo de modelo no arquivo. Se você não usar o indicador, o comando apresentará valores de variáveis dos dois estilos de modelo.

Exemplo

Suponha que você carregue um arquivo CHEF_DEFAULT_RB na caixa Chef. Esse arquivo tem um script Rails cookbook que se refere a três variáveis da caixa Chef (folder, RAILS_APP e CLONE_URL).

Veja a seguir o conteúdo do arquivo:

# Default Recipe

include_recipe "git"

include_recipe "nodejs"
include_recipe "sqlite"

#if (${RAILS_APP} != '')
application 'web_app' do
        path '${folder}/${RAILS_APP}'
        owner 'root'
        group 'root'
        repository '${CLONE_URL}'

        rails do
                bundler true
                precompile_assets true
                database do
                adapter "sqlite3"
                database "db/${RAILS_APP}.sqlite3"
                end
        end
end
#end

Para que o Cloud Application Manager atue sobre o arquivo no momento da implementação, use os comandos cURL ou WGET em um script de evento na caixa Chef a fim de baixar o arquivo na máquina virtual. Em seguida, transmita o arquivo por meio do comando Config no script de evento para que o Cloud Application Manager execute nele as variáveis da caixa Chef.

Neste exemplo, o comando Config é executado no arquivo:

curl -ks ${CHEF_DEFAULT_RB} | elasticbox config -o
cookbooks/${CHEF_COOKBOOK_NAME}/recipes/default.rb

No momento da implementação, o Cloud Application Manager executa o comando Config no arquivo CHEF_DEFAULT_RB, substitui as variáveis por valores reais da implementação e armazena o arquivo como default.rb no caminho especificado na máquina virtual.

Comando notify

Use o comando para enviar de modo programático uma notificação a todas as instâncias vinculadas à instância atual.

Sintaxe

Para enviar uma notificação a todas as instâncias associadas à atual:

elasticbox notify

Utilização

O uso mais comum consiste em enviar uma notificação após a execução de um ou vários comandos elasticbox set. A ideia é que você possa notificar as instâncias que estão usando essas variáveis por meio de associações (bindings).

Exemplo

Um padrão comum é ter variáveis que simbolizem o estado da instância e usem o elasticbox notify para especificar esse status.
Por exemplo, você pode ter uma variável REPLICA_SET_READY. Quando a definição de réplica MongoDB é inicializada, você a define como verdadeira na instância e executa o elasticbox notify. Todas as instâncias associadas à anterior poderão verificar a variável REPLICA_SET_READY e executar algumas configurações se o valor for verdadeiro. Se ele não for verdadeiro, essa configuração poderá ser ignorada; a variável será reconfigurada (e esse código será executado) por essa instância quando o serviço estiver pronto.

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