Ah, ik zie dat je nog wel het één en ander kunt verbeteren aan je workflow.
Ik zal eerst even op het laatste inhaken: de noodzaak om de command line gebruiken; of het gebrek daar aan. Je gebruikt een editor die FTP ondersteuning heeft, de kans is groot dat deze dus ook verschillende VCS systemen ondersteunt. Ik gebruik zelf bijvoorbeeld voor vrijwel alles de JetBrains IDE's (PhpStorm, RubyMine, PyCharm). Als ik een wijziging klaar heb druk ik op CMD+K (Mac) of CTRL+K (Win), vul m'n commit message in en klaar. Vervolgens druk ik nog eens op m'n hotkey om naar de server te pushen (ik heb die op CMD+U staan, maar volgens mij heb ik dat ooit eens gewijzigd).
Nu, het testen. Jij test momenteel eigenlijk niet, je gooit het meteen live en hoopt maar dat er niets kapot gaat. Zo te horen heb je niet te maken met ingewikkelde projecten, waarschijnlijk zelfs gewoon platte HTML/CSS/JS? Dan kan er uiteraard niet zo heel veel mis gaan, maar ik denk dat je alsnog wel baat hebt bij enkele wijzigingen in je proces.
Wat je in grotere projecten zult doen is gewoon zelf lokaal een webserver draaien. Dat kan direct op je machine, via Vagrant (VM) of via Docker. Als het alleen om simpele platte sites gaat, kan ik van harte
https://caddyserver.com aanraden - de configuratie van deze is super eenvoudig en de binary is piepklein.
Waarom? Omdat met een groter project een webserver niet genoeg is. Ik heb bijvoorbeeld voor vrijwel alles dat ik doe een webserver (Nginx) nodig, maar ook een interpreter (meestal PHP), een database (MySQL) en een hoop andere services (Redis, Memcached, Mailcatcher en nog wel een paar). Er komt zo veel bij kijken dat jouw werkwijze gewoon absoluut geen optie is. Dat is veel te gevaarlijk met sites die een paar miljoen hits per dag trekken.
Daarnaast heb je in een beetje werkomgeving wél een test omgeving voorhanden. Met eender welk project ik de afgelopen 5 jaar heb gedaan heb ik naast mijn lokale omgeving ook altijd minimaal een dev omgeving gehad waarnaar toe automatisch gepusht werd vanuit het VCS (dat is overigens waar deze versie van Gitlab dus mee begint, met dat te vereenvoudigen). Dus mijn commit + push naar de VCS server doet automatisch een deployment naar die omgeving. Daarnaast vaak ook nog een zogenaamde "staging" environment die bedoeld is voor pre-productie. Waar dev gewoon kapot mag gaan en rolling updates krijgt, is staging de laatste stap voordat iets live gaat - dev draait dan ook met aangepaste instellingen waar mails bijvoorbeeld niet echt verzonden worden, terwijl staging een 1:1 kopie van de live site is. Dit is waar branches in Git om de hoek komen kijken. Mijn commits maak ik altijd op "develop" (eigenlijk niet waar want ik gebruik altijd feature branches, maar dat gaat voor jou nu te ver denk ik

), waarna deze ook naar "dev" gepusht worden. Als ik een aantal commits klaar heb, "merge" ik die naar de "master" branch, die dan automatisch op "staging" terecht komen. Als daar alles goed gaat klik ik op een knopje om "master" ook naar de productie site te deployen.
Ik begrijp dat dit allemaal ingewikkeld en als veel meer werk dan nodig klinkt, maar als je grotere sites aan gaat pakken zul je heel snel willen dat je dit hebt. Ik bouw inmiddels een jaar of 15 sites en ben ooit zoals jij begonnen, maar ik zal nooit meer zonder VCS werken. Laat staan zonder minimaal een lokale of dev omgeving waar ik alles kan controleren.
Download eens een site van de FTP naar je PC. Vervolgens download je Caddy (
https://caddyserver.com - standaard download zal wel genoeg zijn), zet dat bestand in de directory waar je je site hebt gezet. Maak nu een bestand aan dat Caddyfile heet (geen extensie) met de volgende inhoud:
localhost:8080
Typ nu ./caddy (Mac) of gewoon caddy (Win) in een Terminal/Commandprompt in die directory en ga naar http://localhost:8080 in je browser. Pas een bestand aan en refresh in de browser en voilá - je kunt lokaal testen voordat je potentieel de site kapot maakt met een typfout!
Edit: ik zie op je site dat je ook met Wordpress werkt, voor Wordpress sites zul je bijvoorbeeld Docker moeten gebruiken maar dat is wellicht iets te veel voor dit comment
Ik raad je aan om eens wat te neuzen op forums; inclusief GoT. Ik ben zelf niet actief in de dev sectie van GoT (zou ik wel eens moeten worden eigenlijk), maar wij hebben hier een degelijke dev community. Je mag me ook een DM sturen als je meer vragen hebt.
[Reactie gewijzigd door Werelds op 25 juli 2024 13:36]