Fra FTP til Git En distribusjonshistorie

En gang var det en fil. Det var på datamaskinen, og du ønsket å få det på en server.

Noen gang lurt på hvorfor det er så mange måter å gjøre det på? Vi vil forklare noen av grunnleggende om distribusjon i denne artikkelen, slik at du forstår når du skal bruke hva. La oss komme i gang!


FTP

FTP, eller Filoverføringsprotokoll, anses av mange å være den gamle skolens måte å "sette opp et nettsted." Det er en protokoll som i utgangspunktet betyr at det er et sett av regler som både den lokale datamaskinen og vertsmaskinen er enige om, og kan sende meldinger gjennom. FTP er ikke et "program" i seg selv, men heller som en telefonlinje.


SFTP / SSH

Så, hvis FTP er en telefon på grunnskolen (som fortsatt fungerer fint), er SFTP som et 4G-nettverk

Det gir en ny protokoll for de to maskinene til å snakke (ikke at det er nødvendigvis raskere, men). SFTP drives av SSH, som i hovedsak krypterer meldingene som sendes mellom de to maskinene; slik at eventuelle ondsinnede tredjeparter eller usikre nettverk ikke kan få tak i dine rådata under overføringen.


SFTP vs FTP

Hvis du ikke fanget det, er FTP og SFTP begge filoverføringsprotokoller. SFTP (og andre SSH-drevne overføringsprotokoller) overfører imidlertid filer og krypterer overføringen. "Jeg trenger ikke kryptering", kan du si. Mange mennesker tenker på samme måte; Fremtidsutviklere og moderne verktøy vil imidlertid lene seg mot sikrere metoder. Du har hørt det før - Bedre trygg enn beklager.

Men jeg har ikke lyst til å gå gjennom trøbbel.

Først av alt, hvis dette er din jobb, sug det opp. Du kan enten holde fast med din komfortsone (du vet, FTP fungerer fortsatt, akkurat som fasttelefonen din). Men vil du ikke bli bedre? Tross alt, det er derfor du er her, ikke sant?

Nå, hvis du fortsatt er litt lat, men som ideen om enkel adopsjon, kan du bruke SFTP med nesten hvilken som helst FTP-klient der ute. Det er sikrere. Pass på at serveren din støtter SSH (port 22, vanligvis, må være åpen), og du bør være god å gå. Men poenget med denne artikkelen er ikke å få deg til å tenke på kryptering og overføring av sikkerhet; det er å få deg til å tenke på en mer robust distribusjonsstrategi.


Distribusjon mot filoverføring

"Men jeg har ikke lyst til å gå gjennom trøbbelene.". Hvis dette er din jobb, sug det opp

Hvis du har utviklet seg en stund, har du sannsynligvis gått gjennom boreen for å opprette et nettsted og stadig dra og slippe filene dine til FTP-klienten din (eller dobbeltklikk, eller trykk på "synkroniser", eller ...). Dette er Teknisk en distribusjonsstrategi, men ikke en veldig robust. Selvfølgelig, mange ganger vil denne typen strategi fungere bra, spesielt hvis du er den eneste personen som noen gang vil berøre filene, og du har aldri overskrevet eller slettet en viktig fil. Men igjen, du er her for å bli bedre, ikke sant? Og du er en tryllekunstner.

Utplassering, i sin enkleste form tar noe kode og gjør det til "live" kode. Ved å overføre en index.html filen inn i serverkatalogen din, du distribuerer. Faktisk, på slutten av dagen, flyttes alle distribusjonsstrategier (med mindre du bruker et kompilert appsystem) i hovedsak filer eller versjoner av filer til "nåværende arbeidskatalog", eller endre de som allerede er der. For eksempel kan du gjøre endringer i det samme index.html filen direkte på serveren, og det ville effektivt "distribuere" disse endringene til offentligheten. Men distribusjon kan være mye mer.

Har teamet ditt noen gang opprettet et system som krever at du informerer alle når du har trykt en fil på serveren via FTP? Eller kanskje må du starte en Django eller Railserver etter endring av kode. Hvis du gjør dette som en del av rutinen for å gjøre nettstedet ditt gjenspeiler endringene du har gjort, er det en del av distribusjonsprosessen din.


Versjonskontrollkonsepter

Så, hvis distribusjon betyr å lage et sett med kode og filer live, hvordan kan det være mye mer enn SFTP? "Hva er Git, og hvorfor skal du bryr deg?" du spør. Git er et versjonskontrollsystem, eller en VCS. Det er en av mange VCSs som vi har skamløst plukket som vår favoritt. Vi forklarer hvorfor senere, men først snakkes om hva Det er.

Versjonskontrollsystemer utfører mange oppgaver, men det viktigste er å gi et sikkerhetsnett for utviklere - spesielt utviklingsgrupper. Vi nevnte tidligere hvordan FTP og SFTP kan være helt bra hvis du er perfekt, og du vil aldri overskrive en fil eller slette en viktig mappe utilsiktet. Men hvis du ikke har gjort dette ennå, ikke bekymre deg - det vil skje før eller senere. Det er nesten sikkert at det har skjedd med teamet ditt hvis du ikke har funnet ut et løsnings system. Men selv disse løsningen er en smerte. For eksempel har CSS-katalogen din alltid sett slik ut?