Visual Studio alm rangers


Automação de Build e Deploy com Projetos de Banco de Dados no Visual Studio



Baixar 7.59 Mb.
Página37/62
Encontro30.10.2016
Tamanho7.59 Mb.
1   ...   33   34   35   36   37   38   39   40   ...   62

Automação de Build e Deploy com Projetos de Banco de Dados no Visual Studio



Integração WiX com Deployment de Banco de Dados



Resumo


O VSDBCMD faz um bom trabalho ao realizar deployments de banco de dado, sendo relativamente simples customizar o processo através de scripts na ferramenta de edição de sua preferência. Caso seja necessário uma experiência de instalação mais completa você provavelmente deve utilizar o Windows Installer. O Windows Installer oferece os benefícios de empacotamento de todos os artefatos desenvolvidos, como código-fonte e schemas de banco de dados juntos, versionando os seus releases, tornando-os detectáveis via WMI/MOM, executar checagem de pré-requisitos antes da instalação e tratamento e configuração de ambiente relacionadas ao seu banco de dados. O Windows Installer provê ainda o tratamento de erros e a definição de um workflow para o processo de setup.

Nas páginas a seguir nós iremos guiá-lo através de um cenário avançado. Mas antes de começarmos devemos mencionar que o Windows Installer XML (WiX) é uma linguagem XML para criar arquivos de instalação do tipo *. msi. Este cenário não é um tutorial de WiX. Ao invés disso, focamos nos pontos de integração entre projetos de banco de dados e o WiX. Caso você não esteja familiarizado com o Wix e com o SDK do Windows Installer, recomendamos que execute um dos tutoriais online disponíveis antes de executar este laboratório. Alex Shevchuk publicou um tutorial excelente3 referente à WiX e Windows Installer.



Para este exemplo nós iremos utilizar projetos de banco de dados simples, uma vez que o tamanho e a complexidade do schema do projeto não se mostra relevante para os procedimentos de instalação. A estrutura da solução e a interação entre os difrentes tipos de projetos são mais relevantes para este caso. Nós iremos explorar todos as opções com o mínimo de complexidade necessária para que você se concentre na compreensão do funcionamento do WiX. Os projetos a seguir serão utilizados nos laboratórios para guiá-lo nesta intenção:

  • Customers é um banco de dados simples com algumas tabelas, views e stored procedures.

  • Sales é um banco de dados simples para registro de pedidos que faz referência o banco de dados Customers.

  • CustomerServer é um projeto do tipo server que gerencia linked servers e tarefas agendadas do SQL Agent.

  • CustomersCLR é um proejto do tipo SqlCLR que definie alguns tipos customizados para o banco de dados Customers.

  • Ambos os bancos Sales e Customers fazem referência para objetos de sistema e consequentemente ao master.dbschema.

Abaixo uma lista rápida dos pontos de integração que serão importantes no momento de fazer o empacotamento da instalação.

  • O master.dbschema precisa fazer parte da instalação ou você correrá o risco de que o VSDBCMD falhe.

  • O Customers.dbschema precisa fazer parte da instalação do banco de dados Sales pelo mesmo motivo anterior.

  • O banco de dados CustomersServer precisa ser instalado antes do banco de dados Customers. O banco de dados Customers precisa ser instalado antes do banco de dados Sales. É necessário habilitar o suporte a CLR no banco CustomersServer que pertence a um Server Project ao invés de um Database Project.

  • Antes de realizarmos o deployment do projeto de banco de dados CustomerServer será necessário parar o serviço do SQLAgent e depois reiniciá-lo. Evitaremos criar um job SQL que faça referência a um banco de dados não existente, o que falharia o job durante sua execução.

  • Os bancos de dados Customers e Sales precisam expor seus caminho para dados e logs, de forma que possam ser definidos durante a instalação.



Figura 65 Diagrama de dependência para o processo de deployment

Em uma visão de alto nível, WiX cria um instalador que faz os seguinte:



Como usuário seu papel principal é popular as variáveis do SqlCmdVar.





Figura 66 Exemplo para mapeamento das propriedades do MSI para as SQLCmdVars

Após a solução básica e o instalador do WiX estarem prontos, a maior parte do trabalho é configurar o mapeamento das variáveis SqlCmdVars para propriedades do MSI.



Catálogo: 2012
2012 -> Fapesp e inpe promovem workshop para discutir relatório do ipcc sobre Riscos de Extremos Climáticos e Desastres nas Américas do Sul e Central
2012 -> Anima Mea Concerto no Convento Corpus Christi, 14junho2015
2012 -> Branches e merge com Visual Studio Team Foundation Server 2012
2012 -> Perfil: Time de Qualidade, Testadores
2012 -> Lista de Biologia Vanessa / Frente a volume 2
2012 -> CÂmara municipal de sapopema estado do paraná cnpj: 77. 774. 487/0001-94 Av. Manoel Ribas, 520, cep – 84. 294-000 Fone/Fax (43) 3548-1258
2012 -> Instituto nacional de estudos e
2012 -> Gabinete do ministro
2012 -> Indice de leis complementar 2012 lei 114 À 154 lei complementar 114 de 19 de janeiro de 2012
2012 -> Agenda do presidente do Ibram, Angelo Oswaldo de Araújo Santos 30 de dezembro de 2014

Baixar 7.59 Mb.

Compartilhe com seus amigos:
1   ...   33   34   35   36   37   38   39   40   ...   62




©bemvin.org 2020
enviar mensagem

    Página principal
Prefeitura municipal
santa catarina
Universidade federal
prefeitura municipal
pregão presencial
universidade federal
outras providências
processo seletivo
catarina prefeitura
minas gerais
secretaria municipal
CÂmara municipal
ensino fundamental
ensino médio
concurso público
catarina município
Dispõe sobre
reunião ordinária
Serviço público
câmara municipal
público federal
Processo seletivo
processo licitatório
educaçÃo universidade
seletivo simplificado
Secretaria municipal
sessão ordinária
ensino superior
Relatório técnico
Universidade estadual
Conselho municipal
técnico científico
direitos humanos
científico período
espírito santo
pregão eletrônico
Curriculum vitae
Sequência didática
Quarta feira
prefeito municipal
distrito federal
conselho municipal
língua portuguesa
nossa senhora
educaçÃo secretaria
segunda feira
Pregão presencial
recursos humanos
Terça feira
educaçÃO ciência
agricultura familiar