Уебсайт на ASP.NET Web Forms Част 1 - Свържете се с връзката с базата данни на MySQL

Търся да разработя уебсайт и цялата работа ще бъде извършена дистанционно (без локален сървър за разработчици). Причината за това е, че моята компания за споделен хостинг a2hosting има специфична конфигурация (symfony, mysql, git), която не искам да прекарвам в дублиране, когато мога просто да ssh и да се развивам дистанционно или чрез функции за отдалечено редактиране на netbeans.

Въпросът ми е как мога да използвам git, за да разделя сайта си на три области: live, staging и dev.

Ето моята първоначална мисъл:

  • public_html (сайт на живо и git репо)
  • тестване: огледало на сайта, използвано за визуални тестове (пълен git repo)
  • dev / ticket #: git клонове на public_html, използвани за функции и корекции на грешки (пълно git репо)

Контрол на версиите с git:

Първоначалната настройка:

cd public_html git init git add * git commit -m ‘initial commit of the site’ cd .. git clone public_html testing mkdir dev 

Разработка:

cd /dev git clone ../testing ticket# all work is done in ./dev/ticket#, then visit www.domain.com/dev/ticket# to visually test make granular commits as necessary until dev is done git push origin master:ticket# if the above fails: merge latest testing state into current dev work: git merge origin/master then try the push again mark ticket# as ready for integration 

процес на интеграция и внедряване:

cd ../../testing git merge ticket# -m 'integration test for ticket# --no-ff (check for conflicts ) run hudson tests visit www.domain.com/testing for visual test if all tests pass: if this ticket marks the end of a big dev sprint: make a snapshot with git tag git push --tags origin else git push origin cd ../public_html git checkout -f (live site should have the latest dev from ticket#) else: revert the merge: git checkout master~1; git commit -m 'reverting ticket#' update ticket# that testing failed with the failure details 

Снимки:

Всеки голям спринт за внедряване трябва да има стандартно име и трябва да се проследява.

  • Метод: git таг
  • Конвенция за именуване: TBD

Връщане на сайта в предишно състояние

Ако нещо се обърка, върнете се към предишната снимка и отстранете грешката в dev с нов билет #. След като грешката бъде отстранена, следвайте процеса на внедряване отново.


Моите въпроси:

  1. Има ли смисъл този работен процес, ако не, някакви препоръки
  2. Правилен ли е моят подход за връщане или има по-добър начин да кажа „върни се преди x да се ангажира“

  • Лично аз просто бих използвал клонове за всеки. git клон подреждане; git клон dev и след това всеки отметнат клон да бъде различен.
  1. Да, работният процес има смисъл. Единственото нещо, което не разбирам съвсем, е необходимостта от отделна платформа за тестване. Искам да кажа, да, полезно е, ако имате екип за тестване, който да им даде собствена платформа, но ако сте само вие? Не толкова. IMHO, за малките екипи за разработка този вид неща са ненужни и се превръщат в караница.

  2. Ще предложа очевидното тук (и съм готов да бъда свален), но какво ще кажете за git-revert?

  • Исках да имам отделна платформа за тестване, за да мога да имам стандартизирано местоположение, за да провеждам всичките си тестове на хъдсън. Все още не съм се занимавал с хъдсън, но си мислех, че ще бъде по-лесно да имаш централно местоположение.

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?