GitHub gudrybės
 WordPress įskiepių kūrėjams

+

Arūnas Liuiza

ver · si · jų    kon · tro · 

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

  1. Registracija.
  2. GitHub WebHook'as.
  3. WordPress.org commiter'is.

Registracija

  1. Deployer svetainėje įvedate:
    1. savo el. paštą;
    2. įskiepio adresą WordPress.org kataloge.
  2. Spaudžiate Sign Up;
  3. ​Sistema jums atsiųs nuorodą, kurioje bus tolimesnės diegimo instrukcijos.

GitHub

Repozitorijoje pridedate naują WebHook'ą 

  1. Renkatės Settings > Webhooks and Services > Add Webhook.
  2. Įvedate Deployer sistemos suteiktus Payload URL ir Secret parametrus.
  3. Kitus parametrus paliekate standartinius. 
  4. Spaudžiate Add Webhook.

WordPress.org

  1. Prisijungiate prie WordPress.org sistemos
  2. Keliaujate į savo įskiepio puslapį (wordpress.org/plugins/my-plugin)
  3. Spaudžiate mygtuką Admin
  4. Committers skiltyje esančiame laukelyje įrašote `deployer`
  5. Spaudžiate Add committer

Veikimas

Tęsiate darbą GitHub'e. Deployer dabar galės automatiškai už jus atlikti tokius veiksmus WordPress.org kataloge:

  1. Išleisti naują įskiepio versiją;
     
  2. Atnaujinti įskiepio readme.txt failą;
     
  3. 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.

 

gist.github.com

Nuorodų trumpintuvas GitHub'ui.
 

Praverčia, kai reikia pasidalinti nuoroda į tam tikrą failą Twitter'yje, skaidrėse ar pan.

 

git.io

Visi bilietai ir Pull Request'ai

GitHub.com/issues

 

Visi visų jūsų repozitorijų bilietai vienoje vietoje. Labai patogu, kai turite daug aktyvių įskiepių ar kitų repozitorijų.

GitHub.com/pulls

 

Visi visų jūsų repozitorijų pull request'ai.

Klausimai?

Github gudrybės

By Arūnas Liuiza

Github gudrybės

  • 4,751