sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL voor Windows ontwikkelen, deel 3

Laten we dit afronden. In deel 1 van deze blogserie heb ik de verschillende Windows-builddoelen uitgelegd die door PostgreSQL worden ondersteund. In deel 2 liet ik zien hoe je patches kunt testen op Windows-compatibiliteit en hoe je eenvoudig een Windows-omgeving kunt opstarten voor testen en eenvoudige ontwikkeling. In dit derde en laatste deel gaan we doen wat goede programmeurs doen:we automatiseren het.

Er zijn een aantal services die je naar een GitHub (of GitLab of Bitbucket of …) repository kunt verwijzen en je code bij elke commit kunt laten bouwen. Travis CI is een populaire hiervan, maar er zijn er nog meer. De meeste van deze ondersteunen alleen builds op Linux. Maar er is ook een service die builds op Windows ondersteunt, en dat is AppVeyor. Dus laten we daar een PostgreSQL-build aan koppelen. Laten we hier voor de eenvoud GitHub gebruiken, maar AppVeyor ondersteunt ook andere Git-services.

Maak om te beginnen een AppVeyor-account, push de PostgreSQL-code naar een repository op GitHub en verbind de twee. Ik heb bijvoorbeeld https://github.com/petere/postgresql en https://ci.appveyor.com/project/petere/postgresql.

Alles wat je nu nodig hebt is een .appveyor.yml bestand in uw repository om AppVeyor te vertellen wat te doen. Ik heb zojuist de bestanden die ik gebruik naar pgsql-hackers gepost, zodat je ze vanaf daar kunt pakken. Merk op dat er drie bestanden zijn voor de drie verschillende buildvarianten:MSVC, MinGW en Cygwin. Misschien zou het handig zijn om ze op de een of andere manier te combineren, maar het is mij niet duidelijk hoe ik dat moet doen zonder een gigantische puinhoop te creëren. Dus commit het bestand dat je wilt, push je branch en laat het bouwen. Als je meerdere varianten moet testen, gewoon git reset --hard HEAD~ , begaan nog een, en druk opnieuw. Ik gebruik dit systeem nu een paar maanden en het is erg nuttig geweest.

Oke, dat wikkelt mijn reizen rond Windows voor nu. Zoals ik aan het begin al zei, is Windows niet mijn primaire ontwikkelomgeving, dus dit was voor een groot deel een verkenning in mijn eigen voordeel. Ik hoop dat het nuttig is voor anderen en het beheren van de Windows-ondersteuning in PostgreSQL minder ontmoedigend maakt.


  1. Opgeslagen procedure om informatie over databasetabellen te krijgen

  2. Hoe doe ik top 1 in Oracle?

  3. lastInsertId werkt niet in Postgresql

  4. MariaDB JSON_SET() uitgelegd