GitHub gudrybės
WordPress įskiepių kūrėjams
+
Arūnas Liuiza
ver · si · jų kon · tro · lė
Sistema, kuri išsaugo informaciją apie pakeitimus programinės įrangos kode laikui bėgant, ir leidžia sugrįžti prie konkrečios kodo versijos.
Privalumai
- Leidžia lengvai sugrįžti prie senesnės kodo versijos;
- Dokumentuoja visus pakeitimus;
- Backup'as!
SUBVERSION
- Subversion - 2000
- WordPress - 2003
- Git - 2005
GitHub
- Greitis
- Bendruomenė
- Issue tracker'is
Kaip suderinti?
GitHub
- Vystymas
- Atgalinis ryšys
- Klaidų žurnalas
- kt.
Subversion
- Publikavimas
GitHub
- Vystymas
- Atgalinis ryšys
- Klaidų žurnalas
- kt.
Subversion
- Publikavimas
GitHub
- Vystymas
- Atgalinis ryšys
- Klaidų žurnalas
- kt.
Service
Ship
- Automatinis diegimas;
- Reikalauja API prieigos prie visų vartotojo GitHub repozitorijų;
- Prašo vartotojo
WordPress.org prisijungimo duomenų ir juos saugo. Neužkoduotus. - ship.getherbert.com
Deployer
- Reikalingi rankiniai diegimo žingsniai;
- Reikia suteikti commit prieigą specialiam WordPress.org vartotojui;
- Neprašo ir nesaugo jokių prisijungimo duomenų;
- Mano pagaminta :)
- deployer.edwinapp.com
Deployer diegimas
- Registracija.
- GitHub WebHook'as.
- WordPress.org commiter'is.
Registracija
- Deployer svetainėje įvedate:
- savo el. paštą;
- įskiepio adresą WordPress.org kataloge.
- Spaudžiate Sign Up;
- Sistema jums atsiųs nuorodą, kurioje bus tolimesnės diegimo instrukcijos.
GitHub
Repozitorijoje pridedate naują WebHook'ą
- Renkatės Settings > Webhooks and Services > Add Webhook.
- Įvedate Deployer sistemos suteiktus Payload URL ir Secret parametrus.
- Kitus parametrus paliekate standartinius.
- Spaudžiate Add Webhook.
WordPress.org
- Prisijungiate prie WordPress.org sistemos
- Keliaujate į savo įskiepio puslapį (wordpress.org/plugins/my-plugin)
- Spaudžiate mygtuką Admin
- Committers skiltyje esančiame laukelyje įrašote `deployer`
- Spaudžiate Add committer
Veikimas
Tęsiate darbą GitHub'e. Deployer dabar galės automatiškai už jus atlikti tokius veiksmus WordPress.org kataloge:
- Išleisti naują įskiepio versiją;
- Atnaujinti įskiepio readme.txt failą;
- Atnaujinti įskiepio grafinius assets'us;
Versijos išleidimas
Norėdami išleisti naują įskiepio versiją, tiesiog atnaujinkite versijos numerį pagrinidiniame įskiepio faile, readme.txt faile ir pažymėkite ją kaip git žymą (tag).
git add readme.txt
git add plugin-file.php
git commit -m "version 1.0.1"
git tag 1.0.1
git push origin master --tags
Readme.txt atnaujinimas
Deployer taip pat į WordPress.org automatiškai perkelia visus readme.txt failo atnaujinimus master šakoje.
git add readme.txt
git commit -m "atnaujintas readme failas"
git push origin master
Assets'ų atnaujinimai
Jei GitHub repozitorija turi assets šaką, visus jos atnaujinimus Deployer automatiškai perkelia į įskiepio assets katalogą WorPress.org
git checkout assets
git add -A
git commit -m "atnaujinas baneris ir ikona"
git push origin assets
Kitos gudrybės
Bilietų uždarymas
GitHub automatiškai atpažįsta ir uždaro bilietus (issues), jei jų numeris su raktažodžiu yra paminimas git commit žinutėje:
git commit -m "fix #35"
git push origin master
git commit -m "close #75"
git push origin master
ToDo sąrašai su MarkDown
* [ ] #19 rename GitHub repo to `ideag/content-cards`
* [x] #23 Fallback to `<title>` and `<meta>` if OG data not found
* [x] <del>#9 A list of popular sites not currently having native oEmbed support in WP.</del>
* [ ] #15 add validation to template functions
* [x] #24 fill and update `readme.txt`
* [x] #6 Store OG data in `postmeta`, update via `WP_Cron`
* [x] #10 Create multiple skins: for Twenty* themes and some generic ones.
* [x] #17 Add uninstall hook for cleanup
* [x] #11 Skin detection system, similar to Themes (based on a comment block in stylesheet)
* [x] #5 TinyMCE button that prints a shortcode to to embed ANY url, not only whitelisted ones. (Right now, you'd have to add a regexp for each blog.) This is probably my most common use case, ie. wanting to link to a random blog that I'll probably never going to link to again.
Automatinės nuorodos
-
#XXX - automatiškai sukurs nuorodą į XXX bilietą (issue)
- @username - automatiškai sukurs nuorodą į vartotoją username
Tiek #xx, tiek @username paminėjimai turi užbaigimo funkciją - pradėjus rašyti galima iš dropdown pasirinkti reikiamą bilietą/vartotoją.
Be to, prie paminėto bilieto automatiškai atsiras nuoroda į paminėjimą, o vartotojas gaus žinutę, kad apie jį kalbama.
Šakos, šakos, šakos
Kiekvienas bugfix'as, kiekvienas naujas funkcionalumas turėtų būti kuriamas atskiroje šakoje (branch), kurias vėliau galima lengvai įlieti į master'į, per Pull Request'us
Kaip Pastebin, tik su versijų kontrole.
Labai patogu saugoti ir dalintis įvairiais kodo gabaliukais, juos modifikuoti ir tobulinti.
Nuorodų trumpintuvas GitHub'ui.
Praverčia, kai reikia pasidalinti nuoroda į tam tikrą failą Twitter'yje, skaidrėse ar pan.
Visi bilietai ir Pull Request'ai
Visi visų jūsų repozitorijų bilietai vienoje vietoje. Labai patogu, kai turite daug aktyvių įskiepių ar kitų repozitorijų.
Klausimai?
Github gudrybės
By Arūnas Liuiza
Github gudrybės
- 4,751