Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[PHP/MySQL] Werkwijze en ontwikkelomg. op versch. locaties

Pagina: 1
Acties:

Vraag


  • Buur75
  • Registratie: december 2006
  • Laatst online: 22-09 11:53
Ik programmeer zeer eenvoudige en kleine websites, of schrijf wel eens een plugin voor WordPress, maar niet meer dan dat. Allemaal hobby-niveau, niks professioneels en niks belangrijks of zoiets.

Ik heb XAMPP geinstalleerd op de desktop, en kan dan gewoon mijn websites maken met Notepad++ of Visual Studio Code of zoiets en dan gewoon testen op localhost. Als ik iets heb afgerond of als ik tevreden ben, dan zet ik dit met een FTP-programma live op de website die bij een provider staat.

Nou komt het regelmatig voor dat ik op een andere locatie aan mijn website-werkstukjes wil werken, bijvoorbeeld op mijn laptop, of ergens op een andere computer (waar ik dan ook xampp op heb staan). En nou komt het ook regelmatig voor dat ik dan niet de laatste versie van mijn website voor handen heb -> ik was namelijk de laatste keer dat ik thuis heb gewerkt nog niet helemaal klaar of tevreden, en heb mijn werk nog niet online gezet.

Hoe kan ik een gestroomlijnd werkproces maken zodat ik altijd aan de meest recente versie zit te werken? Ben ik hierbij gebaat met een versie-systeem, zoals Git? Kan ik daarbij ook de mysql-database in dat systeem zetten? Vaak gaat het niet om de data in de database, maar wel om de database-structuur.

Ik heb thuis een Synology NAS staan en ook een Raspberry Pi waar ik een webserver op kan zetten, misschien kan ik die inzetten in dit proces?

Wat ik dus NIET wil, is mijn bestandjes aanpassen en iedere keer na het opslaan weer FTP'en naar de website en dan kijken wat het resultaat is, dat kost gewoon te veel tijd. En vaak heb je dan een tikfout gemaakt en hoef je maar 1 lettertje aan te passen en kun je weer dat hele bestand gaan FTP'en. Dit moet toch makkelijker kunnen?

Belangrijk is dat ik graag lokaal werk, dus op de computer die ik voor me heb staan. Er zijn situaties waarin ik een zeer beperkte internetverbinding heb. Ik kan dan bv wel even snel mijn benodigde bestanden downloaden, maar niet continu mijn werk rechtstreeks op een remote locatie opslaan, maar wel na afsluiten van mijn werkzaamheden.

Ik ben benieuwd hoe ik dit moet realiseren, of hoe dit er in bedrijven aan toe gaat.

Alle reacties


  • EvH
  • Registratie: juli 2014
  • Laatst online: 21:09
Bitbucket / gitlab een idee?

  • Rensjuh
  • Registratie: juli 2007
  • Laatst online: 15:36
Je kunt alles op je NAS zetten, daar dan ook de wijzigingen op doen.
Als je dan zorgt dat je tot die map ook toegang kunt krijgen via FTP ben je er ook.

Of via en GIT systeem wat tegenwoordig ook zeer eenvoudig op te zetten is.
Voor mijn hobby geknutsel heb ik ook alles op GIT staan
Eenvoudig met Visual Studio de laatste wijzigingen binnen halen of juist op GIT zetten.

  • Nila
  • Registratie: juli 2005
  • Laatst online: 21-09 14:27

Nila

Idiot!

Om het wat te stroomlijnen zou ik alles via versie beheer doen (Git) en via automatische deployment systeem je code naar de server laten zetten. Hier kun je dan nog bijvoorbeeld testing of iets dergelijke aanhangen.

Ik werk voornamelijk met Laravel en Wordpress.

Voor Wordpress gebruik ik Bedrock om de plugins te beheren via composer, versiebeheer via Gitlab. En deployment doe ik via Deployer.

[Voor 4% gewijzigd door Nila op 14-09-2020 12:08]

You're not completely useless, you can always serve as a bad example!


  • Ed Vertijsment
  • Registratie: juli 2014
  • Laatst online: 22:54
Zoals eerder gezegd is de standaard aanpak hiervan versiebeheer waar je, je werk vandaan haalt en heen stuurt. Dit stelt je in staat om ook meerdere versies (branches) naast elkaar te beheren, bijvoorbeeld 1 voor een bepaalde feature, en een "master/main" branch waar je. je productieomgeving mee update.

Het goto versiebeheersysteem nu is git. De goto website om dit (gratis) te hosten is github. Ga alsjeblieft niet zelf met opslag etc. werken want dan krijg je vrij snel al index1.php.final.nuecht.

Lees je dus even in in git en github.

svenv.nl


  • Woy
  • Registratie: april 2000
  • Niet online

Woy

Moderator Devschuur®
Sowieso is in elke professionele ontwikkel proces versiebeheer onontbeerlijk, dus dat is je beginpunt. Als je daar dan eenmaal gebruik van maakt is het nog zaak om een manier te vinden die aansluit bij jouw manier van werken.

Je kunt denken aan iets als git-flow, maar voor simpele dingen die jij doet is trunk based development misschien makkelijker.

Als je dat allemaal op orde hebt kun je ook gaan kijken naar deployment d.m.v. release pipelines aan de hand van de source-control, en een stapje verder kun je CI/CD inrichten.

disclaimer:
Bovenstaande is niet allemaal noodzakelijk, zeker niet voor hobbymatig ontwikkelen, maar meer om je een richting op te sturen. Al is ook voor hobbymatig ontwikkelen zeker aan te raden om gebruik te maken van een version control systeem, het levert zoveel voordeel op dat ik geen reden kan bedenken om het niet te doen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • kamerplant
  • Registratie: juli 2001
  • Niet online

kamerplant

Did you mean: dataquest

Docker + Git

  • richardboer
  • Registratie: december 2005
  • Laatst online: 14:33
Zoals velen hier al aangegeven hebben:

Zorg inderdaad voor versiebeheer zoals bijv. github of bitbucket of iets in die trend.

Zelf werk ik bijv. nu ook aan een project op meerdere machines met meerdere ontwikkelaars.
We hebben gewoon een repository bij Github draaien en hier uploaden we de code naar toe.
Als het goed is heb je standaard bijvoorbeeld ook gratis Github actions daar, daar zou je het deployment proces mee kunnen automatiseren.

Wat wij doen is het volgende:
We hebben 3 "hoofd" branches: test, accept en productie.
Deze worden dan zodra ze geupdate worden automatisch doorgezet naar onze VPS waarna daar de code word geupdate en direct live is.
Je zou dan heel makkelijk bijv. een 4e branch kunnen maken en zeggen: Daar stuur ik alle ontwikkelingen heen, zodra akkoord maak je een pull-request naar de branche welke automatisch door gaat naar je live omgeving en klaar.

Qua connectie met github zelf: Ik gebruik zelf Github Desktop en dit werkt naar mijn mening echt heel makkelijk. Hij ziet zelf van: Oke code is geupdate lokaal, wil je hiervan een commit maken, die kan je dan doorzetten naar een branche en je kunt dan op iedere andere machine gewoon de laatste versie d.m.v. een pull request ophalen en je hebt direct lokaal de nieuwste code.

Edit:
Bijna vergeten te vermelden: Stel je gebruikt Github/BitBucket (je moet zelf even kijken of je het in een private repository wil zetten of niet):
Dan ben je verder je NAS of Pi niet nodig tenzij je een van deze 2 nu al als webserver gebruikt.
Maar volgens mij doe je dat al niet dus het enige wat je toevoegt is dus een externe cloud based locatie waar je je code opslaat.

[Voor 13% gewijzigd door richardboer op 14-09-2020 13:59]

Richard


  • Bensjero
  • Registratie: juli 2007
  • Laatst online: 22-09 12:32
Waarom Docker? Git oké, maar zonder uitleg is je reactie nutteloos.

@Buur75 Kijk eens naar GitHub met Github actions, zoals de FTP deploy action.

Lees je vooral even in in versiebeheer met GIT, dat is echt een must.

Als voorbeeld (er zijn veel manieren om met GIT te werken);
Maak een repository aan (per project) op GitHub en maak daarop twee branches: een develop branch en een master branch. De develop branche gebruik je om wijzigingen te maken en te testen (lokaal), waarna als je tevreden bent een merge doet naar de master branch. Vervolgens kan je d.m.v. github actions een deploy doen naar je host (d.m.v. FTP).
Ik realiseer me dat dit wellicht een aantal termen nieuw voor je zijn, maar het geeft je misschien een idee waar je moet zoeken.
Succes ;)


EDIT: Je was me net voor richardboer :9 overgrote gedeelte ben ik het met je eens.
richardboer schreef op maandag 14 september 2020 @ 13:57:


Wat wij doen is het volgende:
We hebben 3 "hoofd" branches: test, accept en productie.
Deze worden dan zodra ze geupdate worden automatisch doorgezet naar onze VPS waarna daar de code word geupdate en direct live is.
Je zou dan heel makkelijk bijv. een 4e branch kunnen maken en zeggen: Daar stuur ik alle ontwikkelingen heen, zodra akkoord maak je een pull-request naar de branche welke automatisch door gaat naar je live omgeving en klaar.
Genoemde branching strategie is misschien een beetje overkill. Zoals eerder genoemd lijkt me 2 (of zelfs 1) branches per project simpeler en goed genoeg. Wat ik TS wel aanraad is om elk project/website in een eigen repository bij te houden.

[Voor 33% gewijzigd door Bensjero op 14-09-2020 14:06]


  • mcDavid
  • Registratie: april 2008
  • Laatst online: 22:07
Hoewel een hosted service als Gitlab of Github je het leven een héééél stuk makkelijker kan maken, is dat niet persé noodzakelijk. Je kunt prima zelf een git repo hosten op een eigen VPS of RPi, of zelfs op je synology nas: https://www.synology.com/en-us/dsm/packages/Git

In principe ís iedere git-instance al een repository, als je die via SSH oid remote toegankelijk maakt kun je hem zo als remote repo gebruiken.

zcflevo.nl


  • Postman
  • Registratie: februari 2000
  • Laatst online: 23:38
Dan zal ik nog maar iets zeggen over MySQL en version control: https://stackoverflow.com...under-git-version-control.
In een notendop: maak een schema en datadump van je lokale/development database en stop deze ook in de Git repo. Zodoende heb je deze ook toegankelijk mocht je op een locatie zitten waar je niet bij je eigen database kunt.

Of draai de database op je Synology, hoewel ik dit zou afraden zonder VPN te gebruiken (eigenlijk wil je niet dat een database server rechtstreeks vanaf het internet toegankelijk is).

Systeemspecs


  • Hopscotch
  • Registratie: september 2015
  • Laatst online: 21-09 19:47
Git is inderdaad de way to go, ik zou beginnen met een simpele strategie en later eens experimenteren met verschillende branches, voor wat betreft je database migratie tool erg handig. Je kunt daarmee wijzigingen in je database structuur in php schrijven, of sql als je dat liever wilt. Maar je kunt ook de "versie" van je database bijhouden en de tool houdt bij welke versie je database nu zit, een tool die simpel is maar toch veel kan is https://phinx.org/
Pagina: 1


Apple iPhone SE (2020) Microsoft Xbox Series X LG CX Google Pixel 4a CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True