WordPress deployment workflow

Pana acum nu am tratat in serios treaba cu deployment-ul (asta pentru ca lucram direct pe server) si m-am cam saturat.
Sunt curios cam ce deployment workflow folositi voi ?
Am cautat si eu putin si am gasit asta (pare interesant dar nu am apucat sa il incerc inca):

Eu folosesc un build gitlab și de atunci merge fără probleme; am deja patru sau cinci proiecte făcute în felul ăsta. Dacă fac push pe dev, face deploy pe un server, dacă fac push pe master, face deploy pe alt server.

Nu are treabă cu baza de date sau cu fișierele urcate de utilizatori, dar pe mine nu mă deranjează; nu am nevoie tot timpul de o sincronizare 1:1, iar o dată la câteva zile nu mă deranjează să folosesc migrate db.

2 Likes

Depinde ce fel de servere folosesti. Eu am deaface cu mai multe situatii cu php :

Pentru hosting shared la care nu ai acces la ssh e problematic cu ftp-ul + ar trebui sa iti mai faci un fisier special care sa incarce baza de date dintr-un sql prin php, Eu de obicei fac lucrurile manual in acest caz, daca ai cpanel e mult mai bine daca incarci o arhiva si dupa despachetezi prin cpanel in loc sa astepti sa se transfere fiecare fisier mic prin ftp.
Pentru baza de date am folosit sypex dumper timp de 5 ani si isi face treaba la baze de date mici foarte bine, iar la baze de date mari (1-2gb+) apar probleme cu nerestabiirea indecsilor. (dar se rezolva salvand .sql-ul pe server si punandu-l din nou) http://sypex.net/en/

Daca ai ssh sau vps ai optiuni nelimitate, poti folosi de exemplu rsync + un script php/bash dupa ca sa iti incarce baza de date.
In acest fel poti face update-uri incrementale foarte rapid, de obicei aproape instant (sau la viteza hdd-ului) daca ai internet bun.
Poti folosi git cu vreo solutie de continuous integration gen gitlab tot ruland un script similar de mai sus. (o idee destul de buna)

Poti lucra si direct pe server cu rsync + rsync inapoi (eu il numesc rsyncback) cand vrei sa iei datele de pe server intr-un folder pe dev. Poti sa setezi file watch cu gulp/grunt si cand dai save sa dea rsync + livereload.

In fiecare caz poti lucra cu git sau fara, cateodata e mai rapid sa lasi comment-uri in cod.

Eu nu lucrez in special cu wordpress dar mai mult ca sigur exista o solutie dedicata pentru dezvoltare.

1 Like

Folosesc git (cu gogs) + webhooks catre aplicatie in-house (php, beanstalkd pt queue, bash scripts)… care face build-ul si ulterior face sync pe server (in functie de branch).
Pt database… exista wp-cli export & import + rsync in ambele sensuri. :slight_smile:

Dar de ce nu trimiti o arhiva prin ftp si un fisier care sa o despacheteze?
Am inceput sa fac asta deoarece aveam foarte multe fisiere mici si am observat ca o arhiva se incarca mult mai rapid, asa ca putin google si am gasit cum sa dezarhives arhiva, si am salvat cateva minute (la un task).

Si da, am masurat aproximativ cat a luat fara dezarhivare, sa vad daca este doar o intamplare, dupa, cu o arhiva cu wordpress + dezarhivare vs. un folder cu wordpress deja dezarhivat si varianta cu arhiva a castigat, dar nu mai stiu cu cate minute.

But again, depinde si de server…