PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Desenvolvendo PostgreSQL para Windows, Parte 3


Vamos encerrar isso. Na parte 1 desta série de blogs, expliquei os diferentes destinos de compilação do Windows suportados pelo PostgreSQL. Na parte 2, mostrei como testar patches para compatibilidade com o Windows e como ativar facilmente um ambiente Windows para testes e desenvolvimento simples. Agora, nesta terceira e última parte, faremos o que os bons programadores fazem:vamos automatizar.

Existem vários serviços por aí que você pode apontar para um repositório GitHub (ou GitLab ou Bitbucket ou …) e fazer com que ele construa seu código a cada commit. Travis CI é um popular deles, mas existem outros. A maioria deles suporta apenas compilações no Linux. Mas também há um serviço que suporta compilações no Windows, que é o AppVeyor. Então, vamos conectar uma compilação do PostgreSQL com isso. Vamos usar o GitHub aqui para simplificar, mas o AppVeyor também suporta outros serviços Git.

Para começar, crie uma conta AppVeyor, envie o código PostgreSQL para um repositório no GitHub e conecte os dois. Eu tenho https://github.com/petere/postgresql e https://ci.appveyor.com/project/petere/postgresql, por exemplo.

Tudo que você precisa agora é um .appveyor.yml arquivo em seu repositório para dizer ao AppVeyor o que fazer. Acabei de postar os arquivos que uso para os hackers do pgsql, para que você possa pegá-los de lá. Observe que existem três arquivos para as três variantes de compilação diferentes:MSVC, MinGW e Cygwin. Talvez seja útil combiná-los de alguma forma, mas não está claro para mim como fazer isso sem criar uma bagunça gigantesca. Então, apenas confirme o arquivo que você deseja, envie sua ramificação e deixe-a compilar. Se você precisar testar várias variantes, apenas git reset --hard HEAD~ , confirme outro e faça push novamente. Eu tenho usado este sistema por alguns meses agora, e tem sido muito útil.

Tudo bem, isso encerra minhas viagens pelo Windows por enquanto. Como mencionei no início, o Windows não é meu ambiente de desenvolvimento principal, então isso foi em grande parte uma exploração para meu próprio benefício. Espero que seja útil para outras pessoas e torne o gerenciamento do suporte do Windows no PostgreSQL menos assustador.