PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Entwickeln von PostgreSQL für Windows, Teil 3

Lassen Sie uns das abschließen. In Teil 1 dieser Blogserie habe ich die verschiedenen Windows-Build-Targets erklärt, die von PostgreSQL unterstützt werden. In Teil 2 habe ich gezeigt, wie man Patches auf Windows-Kompatibilität testet und wie man auf einfache Weise eine Windows-Umgebung zum Testen und zur einfachen Entwicklung aufsetzt. Jetzt, in diesem dritten und letzten Teil, werden wir das tun, was gute Programmierer tun:Wir werden es automatisieren.

Es gibt eine Reihe von Diensten, mit denen Sie auf ein GitHub- (oder GitLab- oder Bitbucket- oder …) Repository verweisen können, und es Ihren Code bei jedem Commit erstellen lassen. Travis CI ist ein beliebter davon, aber es gibt noch andere. Die meisten davon unterstützen nur Builds auf Linux. Aber es gibt auch einen Dienst, der Builds auf Windows unterstützt, und das ist AppVeyor. Verbinden wir also einen PostgreSQL-Build damit. Verwenden wir hier der Einfachheit halber GitHub, aber AppVeyor unterstützt auch andere Git-Dienste.

Erstellen Sie zunächst ein AppVeyor-Konto, schieben Sie den PostgreSQL-Code in ein Repository auf GitHub und verbinden Sie die beiden. Ich habe zum Beispiel https://github.com/petere/postgresql und https://ci.appveyor.com/project/petere/postgresql.

Jetzt brauchen Sie nur noch eine .appveyor.yml Datei in Ihrem Repository, um AppVeyor mitzuteilen, was zu tun ist. Ich habe gerade die Dateien, die ich verwende, an pgsql-Hacker gepostet, damit Sie sie von dort abrufen können. Beachten Sie, dass es drei Dateien für die drei verschiedenen Build-Varianten gibt:MSVC, MinGW und Cygwin. Vielleicht wäre es sinnvoll, sie irgendwie zu kombinieren, aber mir ist nicht klar, wie ich das machen soll, ohne ein riesiges Durcheinander zu erzeugen. Committen Sie also einfach die gewünschte Datei, pushen Sie Ihren Zweig und lassen Sie ihn erstellen. Wenn Sie mehrere Varianten testen müssen, einfach git reset --hard HEAD~ , begehen Sie einen anderen und drücken Sie erneut. Ich benutze dieses System jetzt seit einigen Monaten und es war sehr hilfreich.

Okay, damit sind meine Reisen rund um Windows vorerst beendet. Wie ich eingangs erwähnt habe, ist Windows nicht meine primäre Entwicklungsumgebung, daher war dies zu einem großen Teil eine Erkundung zu meinem eigenen Vorteil. Ich hoffe, es ist für andere nützlich und macht die Verwaltung der Windows-Unterstützung in PostgreSQL weniger entmutigend.