PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Sviluppo di PostgreSQL per Windows, parte 3

Concludiamo questo. Nella parte 1 di questa serie di blog, ho spiegato i diversi target di build di Windows supportati da PostgreSQL. Nella parte 2, ho mostrato come testare le patch per la compatibilità con Windows e come avviare facilmente un ambiente Windows per il test e lo sviluppo semplice. Ora, in questa terza e ultima parte, faremo quello che fanno i bravi programmatori:lo automatizzeremo.

Ci sono una serie di servizi là fuori che puoi puntare a un repository GitHub (o GitLab o Bitbucket o ...) e farlo costruire il tuo codice ad ogni commit. Travis CI è un popolare di questi, ma ce ne sono altri. La maggior parte di questi supporta solo build su Linux. Ma c'è anche un servizio che supporta build su Windows, e questo è AppVeyor. Quindi colleghiamo una build PostgreSQL con quello. Usiamo GitHub qui per semplicità, ma AppVeyor supporta anche altri servizi Git.

Per iniziare, crea un account AppVeyor, invia il codice PostgreSQL a un repository su GitHub e collega i due. Ho https://github.com/petere/postgresql e https://ci.appveyor.com/project/petere/postgresql, per esempio.

Tutto ciò di cui hai bisogno ora è un .appveyor.yml file nel tuo repository per dire ad AppVeyor cosa fare. Ho appena pubblicato i file che uso su pgsql-hacker, quindi puoi prenderli da lì. Tieni presente che esistono tre file per le tre diverse varianti di build:MSVC, MinGW e Cygwin. Forse sarebbe utile combinarli in qualche modo, ma non mi è chiaro come farlo senza creare un pasticcio gigantesco. Quindi esegui il commit del file che desideri, esegui il push del tuo ramo e lascialo costruire. Se devi testare più varianti, basta git reset --hard HEAD~ , eseguine un altro e premi di nuovo. Ho usato questo sistema per alcuni mesi ed è stato molto utile.

Va bene, questo conclude i miei viaggi in Windows per ora. Come ho detto all'inizio, Windows non è il mio ambiente di sviluppo principale, quindi questa è stata in gran parte un'esplorazione a mio vantaggio. Spero che sia utile per gli altri e renda meno scoraggiante la gestione del supporto di Windows in PostgreSQL.