Kom ihåg mig?
Home Menu

Menu


Utveckla i dev -> flytta till production

 
Ämnesverktyg Visningsalternativ
Oläst 2013-03-24, 15:40 #1
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
secag secag är inte uppkopplad
Medlem
 
Reg.datum: Nov 2012
Inlägg: 211
Standard Utveckla i dev -> flytta till production

Jag ser att många utvecklar i DEV och sen förflyttar över detta till PRODUCTION. Jag undrar över hur dom gör det, antar att dom har 2 kopior av sidan men hur dom ligger vet jag inte. Finns det dom har kör www.minsida.se/dev där bara developers har åtkomst?

Hur gör man se om man vill släppa en ny update av sidan? Måste finnas ett enkelt sätt att förflytta alla uppdaterade och nya filer till production? Även filer man tagit bort i dev borde också tas bort i production? Flyttar dom bara över allting som ligger i devmappen till den andra?
secag är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-24, 15:44 #2
Dimme Dimme är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 397
Dimme Dimme är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 397
Använd en git repo för versionshantering och sedan använd git hooks för att automatiskt flytta till production.

http://net.tutsplus.com/tutorials/to...ith-git-hooks/

EDIT: Om du inte orkar se hela klippet: http://stackoverflow.com/questions/2...using-git-push

Senast redigerad av Dimme den 2013-03-24 klockan 15:54
Dimme är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 02:12 #3
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Man kan ha hur många "nivåer" man tycker passar. Jag har jobbat med flera olika varianter, exempelvis:

1 - Lokalt på utvecklarens egen PC (primär utvecklingsmiljö)
2 - dev.[domän].[tld] (utvecklarensegen systemtest)
3 - test.[domän].[tld] (acceptanstest)
4 - prodtest.[domän].[tld] (mer eller mindre identisk testmiljö med produktion)
5 - www.[domän].[tld] (Produktionsnivå)

Man anpassar detta efter vad man behöver.

Som kuriosa kan nämnas att Siemens har (i alla fall haft) 17 olika nivåer på vissa kritiska projekt (typ pacemaker).
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 08:51 #4
BarateaUs avatar
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2007
Inlägg: 2 648
BarateaU BarateaU är inte uppkopplad
Klarade millennium-buggen
BarateaUs avatar
 
Reg.datum: Nov 2007
Inlägg: 2 648
Proof of concept "poc", och acceptanstest då.
BarateaU är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 12:56 #5
linusoleander linusoleander är inte uppkopplad
Medlem
 
Reg.datum: Feb 2010
Inlägg: 234
linusoleander linusoleander är inte uppkopplad
Medlem
 
Reg.datum: Feb 2010
Inlägg: 234
Git med Github som kodhost och capistrano for att deploya till servern. Git hooks kanns aningen for primitivt.
linusoleander är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 14:08 #6
Alexs avatar
Alex Alex är inte uppkopplad
Administratör
 
Reg.datum: Sep 2004
Inlägg: 1 621
Alex Alex är inte uppkopplad
Administratör
Alexs avatar
 
Reg.datum: Sep 2004
Inlägg: 1 621
Om man inte vill blanda in ruby-gems så duger Git hooks väldigt väl. Annars är det som linus ovan mig säger capistrano som gäller.

"cap deploy" så deployar du senaste som ligger pushat i master-repot. Dessutom sköter den rollbacks och sånt rätt bra också, så skulle du få ut en kodbas i produktion som inte riktigt klarar alla tester så är det bara att köra "cap deploy:rollback" så får du versionen tidigare.

Kör du dessutom tags på dina deploys blir det ännu mer överskådligt.
__________________
@Zn4rK - Börja blogga - Paintball i Göteborg
Det jag skriver är mina personliga åsikter och återspeglar inte vad WN eller andra företag jag representerar tycker.
Alex är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 18:17 #7
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Att synkronisera filerna mellan utvecklingsmiljön och produktion är oftast ganska okomplicerat. Det finns ju massvis med script som löser detta förhållandevis smärtfritt och det är heller inte speciellt komplicerat att sätta upp t.ex. Git hooks som nämnts ovan.

Det som däremot brukar bli mer komplicerat är när man måste synkronisera databasförändringar mellan utvecklingsmiljön och och produktion. Om du gör ändringar i databasschemat eller, ännu värre, ändringar i själva datan blir det mer komplicerat eftersom det inte går att bara skriva över allt. Jag mottar gärna tips på hur man ska diffa och merga databaser från utvecklingsmiljö till produktion.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 18:30 #8
CotopaXi CotopaXi är inte uppkopplad
Flitig postare
 
Reg.datum: Nov 2004
Inlägg: 321
CotopaXi CotopaXi är inte uppkopplad
Flitig postare
 
Reg.datum: Nov 2004
Inlägg: 321
Kör Chef[1] och Fabric[2] men finns också som några nämt Capistrano, Puppet[3] och nykomplingen Salt[4] för att automatisera deployments.

En spännande startup som vill göra deployment lika enkelt som dropbox gör det att dela filer är Omnicloud[5] tyvärr endast stöd för PHP i nuläget.

[1] http://wiki.opscode.com/display/chef/Home
[2] http://docs.fabfile.org/en/1.6/
[3] https://puppetlabs.com
[4] http://saltstack.com/
[5] http://omnicloud.com/
CotopaXi är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 19:31 #9
linusoleander linusoleander är inte uppkopplad
Medlem
 
Reg.datum: Feb 2010
Inlägg: 234
linusoleander linusoleander är inte uppkopplad
Medlem
 
Reg.datum: Feb 2010
Inlägg: 234
Citat:
Ursprungligen postat av Alex Visa inlägg
Om man inte vill blanda in ruby-gems så duger Git hooks väldigt väl. Annars är det som linus ovan mig säger capistrano som gäller.

"cap deploy" så deployar du senaste som ligger pushat i master-repot. Dessutom sköter den rollbacks och sånt rätt bra också, så skulle du få ut en kodbas i produktion som inte riktigt klarar alla tester så är det bara att köra "cap deploy:rollback" så får du versionen tidigare.

Kör du dessutom tags på dina deploys blir det ännu mer överskådligt.
Av egen erfarenhet så är det inte bara den nya kodbasen som ska upp i produktion utan följande saker ska också göras.
  • Installation av alla paketberoenden
  • Migrering av databasen
  • Ompekning av applikation efter ny kod är på plats
  • Omstart av bakgrundsjobb
  • Uppdatera cronjobs
  • Säga till felhanteringsapplikationen att en deploy är gjort
  • Komprimera assets på klientsidan för att sedan flyttas över till production (js- och css-filer)
  • Os.v
linusoleander är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-03-25, 19:56 #10
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Citat:
Ursprungligen postat av secag Visa inlägg
Jag ser att många utvecklar i DEV och sen förflyttar över detta till PRODUCTION. Jag undrar över hur dom gör det, antar att dom har 2 kopior av sidan men hur dom ligger vet jag inte. Finns det dom har kör www.minsida.se/dev där bara developers har åtkomst?

Hur gör man se om man vill släppa en ny update av sidan? Måste finnas ett enkelt sätt att förflytta alla uppdaterade och nya filer till production? Även filer man tagit bort i dev borde också tas bort i production? Flyttar dom bara över allting som ligger i devmappen till den andra?
En byggserver skulle kunna fixa detta. Det är himla smidigt när man har olika miljöer (utv, test, acceptanstest, prodtest, prod etc) där sökvägar, databaser etc skiljer sig åt. Ett klick o sen sköter byggservern resten! Antar att det är liknande tänk i Git som nämnts ovan.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 05:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017