Projektépítés másodszor

Építsünk távolról Sublime Text és SSH segítségével.

Korábban már volt róla szó, hogy hogyan lehetne közvetlenül Sublime-ból build-eket futtatni a virtuális gépünkön egy plugin és egy webalkalmazás segítségével. Most nézzünk meg egy másik megközelítést, ami a Sublime beépített build rendszer támogatását és a PuTTY parancssoros változatát használja.

Amire szükségünk lesz (Windows-os környezetben):

Linux-os környezetben a Plink helyett az ssh, PuTTYgen helyett pedig az ssh-keygen használható.

Elkészítés

Első lépésként, ha még nincs beállítva publikus kulcs autentikáció a hozzáférésünkhöz a szerveren, akkor indítsuk el a PuTTYgen-t és generáljunk egy kulcsot:

A bejegyzés írása során többször próbáltam kattintani, hogy eltűnjön a kijelölés.

Ahogy azt a PuTTYgen okosan írja is, a Generate gomb megnyomása után kijelölt szöveget be kell másolnunk a szerveren a ~/.ssh/authorized_keys fájlba. Aztán passphrase nélkül mentsük el a privát kulcsot, arra még a későbbiekben szükségünk lesz.

Jöhet a Sublime beállítása. Feltételezem, hogy éppen egy projektben vagyunk, ha nem, csináljunk egyet gyorsan. Ez után a Project > Edit Project menüre kattintva a megnyíló config fájlhoz hozzáadjuk a saját build rendszerünket (a nagy valószínűséggel már ott lévő "folders" kulccsal azonos szintre). Majd a Tools > Build Systems menüpontban ki is választjuk, hogy azt használja a Sublime.

"build_systems":
[
    {
        "name": "csudiszuper build rendszer",
        "working_dir": "c:\\path\\to\\plink\\",
        "cmd": [
            "plink",
            "-i", "c:\\path\\to\\private_key.ppk",
            "username@virtual.machine.host",
            "futtatandó parancsok"
        ]
    }
]

A "futtatandó parancsok" rész a fenti configban nagyban függ attól, hogy mit is szeretnénk pontosan build futtatása címszó alatt csinálni, de nagyjából annyiból áll, hogy belépünk a projektünk könyvtárába és meghívjuk a build rendszerünket (Phing, Grunt, Ant, make vagy bármi más, ami szimpatikus).
Ezek után a Ctrl+B billentyűkombinációval el is indíthatjuk a futtatást és láthatjuk a szerkesztőben a kimenetét.

A példa kedvéért a guzzle make test-jét futtattam. Katt a nagyobb változatért.

Ezen a ponton még belefuthatunk néhány hibába. Például, hogy ha még nem csatlakoztunk a szerverhez, akkor el kellene fogadnunk az RSA kulcsát, amit a build rendszeren keresztül nem tudunk megtenni, így érdemes pl. PuTTY-ból megejteni az első kapcsolódást. Egy másik gyakori probléma az lehet, hogy visszautasítja a szerver a kulcsot, aminek például az SSH szerver beállításaihoz (PubkeyAuthentication rész a /etc/ssh/sshd_config fájlban) vagy a home könyvtárunkban lévő .ssh könyvtár és a benne lévő fájlok jogosultságaihoz (minden csak a saját felhasználónk által legyen írható/olvasható) lehet köze.

Én egyébként mostanában hajlok arra, hogy make-et használjak build-elésre. Jó eséllyel nem kell hozzá semmit se telepíteni és a Phing-et elég lassúnak találtam, ami gyakori futtatás esetén nem egy vágyott tulajdonság. Mivel egyébként is csak konzolos parancsokat futtatok, egy egész egyszerű Makefile-lal meg lehet úszni például a coding standard-ek ellenőrzését és a unit tesztek futtatását:

PHPUNIT=@vendor/bin/phpunit
PHPCS=@vendor/bin/phpcs

all: test checkstyle

test:
	$(PHPUNIT) --bootstrap=vendor/autoload.php tests/

checkstyle:
	$(PHPCS) --report=full --standard=PSR2 src/ tests/

Hozzáfűznél valamit?

Dobj egy emailt a blog kukac deadlime pont hu címre.

Feliratkoznál?

Az RSS feed-et ajánljuk, ha kedveled a régi jó dolgokat.