Nu toată lumea îi place subversiunea. Dacă utilizați Git pentru a gestiona dezvoltarea pluginului WordPress, menținerea replicii Git și repornirea SVN WordPress.org în sincronizare este obositoare. Din fericire, putem folosi furnizorul de implementare TravisCI pentru a automatiza desfășurarea SVN după teste.
Aveți nevoie de acestea înainte de a vă deplasa:
Pentru a folosi TravisCI, trebuie să găzduim depozitul de plugin-uri pe GitHub.
Mai întâi, creați un depozit nou pe GitHub accesând această pagină și completând numele repozitorului.
Apoi, vom comite toate fișierele de plugin în Git și vom împinge în acest depozit GitHub. Nu uitați să înlocuiți adresa URL la distanță cu a dvs..
$ cd / path / to / plugin / directorul $ git init $ git adăuga -A $ git comită -m "primul comite" $ git adaugă la distanță origine https://github.com/TangRufus/tutsplus-dpl-demo.git $ git push -u maestru de origine
Conectați-vă magazia GitHub la TravisCI accesând pagina contului dvs. TravisCI și porniți depozitul. Clic Sincronizați contul în colțul din dreapta sus, dacă depozitul nou creat nu apare în listă.
Ești gata. De fiecare dată când împingeți noi comitete sau când cineva face cereri de tragere către GitHub, va declanșa o construire pe TravisCI.
TravisCI folosește un fișier YAML numit .travis.yml
în rădăcina depozitului dvs. pentru a personaliza clădirile. Aflați mai multe din documentul de configurare pentru a vedea cum puteți controla ciclul de viață al clădirii.
Acesta este un fișier de configurare de bază care instruiește TravisCI să ruleze se bazează pe PHP 7
și 7.1
. Din moment ce testarea nu se află în sfera de aplicare a acestui tutorial, am înlocuit comenzile de testare ecou 'Tested'
.
# .travis.yml limbă: php sudo: false php: - 7.0 - 7.1 script: # Rulați-vă testele aici. - echo "Tested"
Impuneți acest fișier și împingeți-l la GitHub. TravisCI build-urile vor fi declanșate automat.
$ git adăugați .travis.yml $ git ci -am "Adăugați .travis.yml" $ git push master de origine
Furnizorii de implementare rulează dacă testele au trecut și condiționările predefinite ( pe
secțiune). TravisCI oferă aproape 40 de furnizori oficiali de implementare. Din păcate, niciuna dintre ele nu acceptă depozitele de subversiune ale WordPress.org. Astfel, mi-am făcut propriul furnizor personalizat. Puteți să o găsiți pe GitHub și pe cererea de tragere.
Pentru a le folosi, adăugați aceste linii la sfârșitul paginii .travis.yml
.
înainte_deploy: - mkdir build - cp LICENȚĂ construi - cp README.txt build - cp remove-mediu-cross-links.php construi implementa: - provider: wordpress-plugin margine: instalare pe: php: 7.1 etichete: true repo: TangRufus / tutsplus-dpl-demo slug: elimina-mediu-cross-links nume utilizator: tangrufus parola: $ WORDPRESS_ORG_PASSWORD build_dir: build
before_deploy
before_deploy
secțiunea copiază trei fișiere în construi
director care trebuie verificat în depozitul de subversiune WordPress.org. În lumea reală, acesta este locul în care doriți să rulați înghiţitură
sau mormăit
sarcini pentru a pregăti plugin-ul pentru producție.
Nu copiați fișierele de testare sau fișierele care nu sunt necesare construi
ca întreg construi
directorul este lansat utilizatorilor și utilizatorii nu au nevoie de fișierele de test.
furnizor
și margine
Spunem TravisCI să instaleze furnizorul meu de la add-wordpress-plugin-implementare
ramifica https://github.com/TypistTech/dpl. Odată ce cererea de tragere a fost îmbinată, margine
parte este inutilă.
pe
pe
secțiunea controlează dacă trebuie efectuată o desfășurare. Implementarea este declanșată numai atunci când toate cerințele sunt îndeplinite.
În exemplul de mai sus, vom implementa WordPress.org numai atunci când:
7.1
construimelc
Plug-in-ul plug-in-ului.
Dacă adresa URL a pluginului este https://wordpress.org/plugins/my-awesome-plugin/, atunci mi-minunat-plugin
este slugul plugin-ului.
nume de utilizator
Numele dvs. de utilizator al contului WordPress.org cu care ați trimis pluginul pentru aprobare de examinare.
parola
Parola contului WordPress.org. Nu salvați niciodată această parolă în .travis.yml
în text simplu!
În exemplul de mai sus, folosim $ WORDPRESS_ORG_PASSWORD
mediu, care poate fi setat pe tabloul de bord web TravisCI. Alege Setări din meniul de comandă și faceți clic pe Adăuga în variabile de mediu secțiune. Nu activați niciodată opțiunea "Afișare valoare în jurnal de construcție"!
build_dir
Totul din acest director va fi dedicat depozitului de subversiune WordPress.org, adică va fi inclus în fișierul zip descărcabil.
Am stabilit asta construi
pentru că am copiat fișierele pluginului construi
pe parcursul before_deploy
.
Să presupunem că am rezolvat câteva erori și suntem gata să publicăm o nouă versiune la WordPress.org.
Aceste comenzi declanșează modificările la maestru
dar nu declanșează o desfășurare:
$ git adăugați -A $ git commit -am "Bug fix" $ git împinge masterul de origine
Numai etichetarea declanșează declanșarea declanșatorului:
$ git tag -a 1.0.17 -m "versiunea bump 1.0.17" $ git push origin master -tags
Reveniți la TravisCI și deschideți PHP 7.1
construi jurnal. Ar trebui să vedeți că implementarea este înregistrată.
Clădire dpl gem local cu sursa tipistTech / dpl și ramură add-wordpress-plugin-deployment Instalarea dependențelor de implementare! Suportul WordPress Plugin este experimental! Pregătirea implementării Găsirea configurației pentru implementarea pluginului WordPress ... Slug: eliminați-mediu-cross-links Utilizator: tangrufus Parola găsită Build Directory: build Active Directory: nu a fost găsit Configurarea valida pentru implementarea pluginului WordPress ... Configurația arată bine Merge la eticheta deloy: 1.0.17 Curățați depozitul de git cu "git stash --all". Dacă aveți nevoie de artefacte de construire pentru implementare, setați "deploy.skip_cleanup: true". Vedeți https://docs.travis-ci.com/user/deployment/#Uploading-Files. / usr / lib / git-core / git-stash: 186: / usr / lib / git-core / git-stash: nu se poate crea /home/travis/build/TangRufus/tutsplus-dpl-demo/.git/logs/ refs / stash: Directory nonexistent Implementarea aplicației Verificarea https://plugins.svn.wordpress.org/remove-medium-cross-links Clearing / tmp / d20170513-3291-1yh7vqo / trunk ... Eliminarea fișierelor șterse din subversiune ... D / tmp / d20170513-3291-1yh7vqo / trunk Îndepărtarea temporară a portbagajului și a activelor (dacă este setat assets_dir) Ștergerea tmp / d20170513-3291-1yh7vqo / trunk Revizuirea revizuită 1656616. Copierea construirii în / tmp / d20170513-3291-1yh7vqo / trunk ... Copierea / tmp / d20170513-3291-1yh7vqo / trunk către /tmp/d20170513-3291-1yh7vqo/tags/1.0.17 ... Adăugarea de fișiere noi la subversiune ... A / tmp / d20170513-3291-1yh7vqo / trunk A / tmp / d20170513-3291-1yh7vqo / trunk / LICENȚA A /tmp/d20170513-3291-1yh7vqo/trunk/README.txt A /tmp/d20170513-3291-1yh7vqo/trunk/remove-medium-cross-links.php A / tmp / d20170513-3291-1yh7vqo / tags / 1.0.17 A /tmp/d20170513-3291-1yh7vqo/tags/1.0.17/LICENSE A / tmp / d20170513-3291-1y h7vqo / tags / 1.0.17 / README.txt A /tmp/d20170513-3291-1yh7vqo/tags/1.0.17/remove-medium-cross-links.php Angajarea 1.0.17 Adăugarea tmp / d20170513-3291-1yh7vqo / tags /1.0.17 Adăugarea tmp / d20170513-3291-1yh7vqo / tags / 1.0.17 / LICENȚĂ Adăugarea tmp / d20170513-3291-1yh7vqo / tags / 1.0.17 / README.txt Adăugarea tmp / d20170513-3291-1yh7vqo / tags / 1.0 .17 / remove-medium-cross-links.php Adăugarea tmp / d20170513-3291-1yh7vqo / trunk Adăugarea tmp / d20170513-3291-1yh7vqo / trunk / LICENȚĂ Adăugarea tmp / d20170513-3291-1yh7vqo / trunk / README.txt Adăugarea tmp /d20170513-3291-1yh7vqo/trunk/remove-medium-cross-links.php Transmiterea datelor despre fișier ... Revizuirea angajată 1656617.
Și pe traseul WordPress.org (https://plugins.trac.wordpress.org/browser/
svn commit
De două oriDeoarece TravisCI navează cu o versiune veche subversiune
care nu joacă bine cu subdirectoarele, o fac svn commit
de două ori.
Primul svn commit
elimină totul înăuntru trompă
. Al doilea svn commit
copiază totul de la build_dir
la trompă
.
Acest furnizor este încă experimental și nu se îmbină cu repo oficialul TravisCI. Puteți urmări feedback-ul TravisCI asupra solicitării sale de tragere.
Utilizarea margine
nu îmi îmbină filiala în maestrul din amonte. Există o șansă ca sucursala mea să fie în spatele repo-ului oficial. Când se întâmplă, îmi poți furca sucursala și o poți renunța și apoi să te schimbi sursă
în .travis.yml
la depozitul dvs. GitHub.
Pentru a utiliza acest furnizor de servicii de implementare:
.travis.yml
.Sper că toate cele de mai sus vă ajută să implementați pluginurile mai rapid la WordPress.org.
WordPress are o economie incredibil de activă. Există teme, pluginuri, biblioteci și multe alte produse care vă ajută să vă construiți site-ul și proiectul. Natura open-source a platformei face de asemenea o opțiune excelentă pentru a vă îmbunătăți abilitățile de programare. Indiferent de situație, puteți vedea tot ce avem la dispoziție în piața Envato Marketplace.
Vă mulțumim pentru lectură!