Implementação do AWS OpsWorks com várias camadas

2

Na nossa pilha de opsworks, temos uma pilha com 2 Servidores de Aplicativos - 1 Java e 1 PHP. Cada servidor de aplicativos atualmente tem uma instância cada.

Também temos vários aplicativos nesta pilha: 1 aplicativo é implantado no servidor / instância do aplicativo Java, enquanto o restante é implantado no servidor / instância do PHP.

Quando implantamos um aplicativo, em "Avançado > >", os dois servidores de aplicativos estão marcados. Estamos nos perguntando se existe uma maneira de configurar cada aplicativo, de modo que a implantação para ele seja padronizada para o servidor de aplicativos no momento. Por exemplo, implementando um aplicativo PHP, apenas no PHP App Server.

Neste momento, não é um grande problema, porque implantar um aplicativo PHP em ambos os servidores de aplicativos significa que a implantação do PHP App Server é bem-sucedida, enquanto a implantação do Java App Server falha (e falha rapidamente) sem afetar o sucesso da implementação do PHP App Server.

Este é mais um caso de arrumar pontas soltas.

    
por alexmcroberts 01.05.2014 / 19:49

1 resposta

2

A falha de implantação nas receitas do opsworks é a sua? A maioria das receitas de implantação do opsworks tem uma proteção para garantir que ele seja executado apenas em instâncias da camada. Por exemplo, na receita de implantação java, ele protege as receitas apenas se o tipo de aplicativo for java .

node[:deploy].each do |application, deploy|
  if deploy[:application_type] != 'php'
    Chef::Log.debug("Skipping deploy::php application #{application} as it is not an PHP app")
    next
  end
  # deployment actions for application types in this layer
end

Eu reproduzi o guarda acima. Isso, obviamente, pressupõe que os aplicativos PHP estão em uma camada PHP, e o aplicativo Java está em uma camada Java.

    
por 10.10.2014 / 02:18