Какво означава deploy, deployer й къде й да какво се ползва?

Спам форум
Post Reply
User avatar
Ticketa
Турист
Турист
Posts: 469
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Какво означава deploy, deployer й къде й да какво се ползва?

Post by Ticketa » Sat Jul 13, 2019 9:44 am

Здравейте,
Много често започнах да срещам думичките deploy/deployer основно свързани с PHP ?
- какво е
- за какво се ползва
- как се ползва
- защо се ползва
- какви плюсове й минуси има
- как това нещо би допринесло за един проект?

За напредналите въпроса може да ми е глупав, но важното е до разбера какво е deployer.

Намирам информация , но само на английски - скаран съм с него
https://deployer.org

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Sat Jul 13, 2019 8:03 pm

Работиш по проект. По принцип имате няколко staging сървъра, да речем за примера UAT и Production.

Когато работиш по този проект, ти по принцип работиш локално, което се води development environment.

Естествено, когато оправяш нещо, не го оправяш директно на Production сървъра. Просто не е желателно, да не кажа забранено.

Deployment е процеса, в който искаш обновниш някой от сървърите с последните ъпдейти, които ти и тима ти сте направили.
Това се прави посредством deployer.
Deployer-a e софтуер, който настройваш да комуникира със сървърите, които имате налични, както и с кода(принципно github repository). Той е отговорен да вземе последните промени и да ги качи на сървъра, който си му казал. В света на PHP принципно е това, както и може да прави определени конфигурации, ако е нужно, да билдва CSS и JS assets и т.н.

Удобството на деплойъра е, че не е нужно ръчно всеки път да ходиш по сървърите (чрез SSH) и да правиш всичко това ръчно. Просто го конфигурираш какво искаш да прави и ще го направи на всички сървъри еднакво. Това е особено полезно, ако имаш няколко production сървъра, които се управляват с load balancer и искаш по един и същи начин всичко да се изпълни. Така няма да се притесняваш, че си забравил нещо да изпълниш на някой от сървърите, по време на release.

Друго полезно е, че deployer-a може да си прави архиви на предходни release-и и в случай, че нещо с новия се обърка, винаги можеш да rollback-неш до предния стабилен, за да може потребителите да продължат да използват уеб сайта(или каквото е там).

Ако правиш всичко това ръчно всеки път, когато правиш release, представи си колко време ще ти отнема, дори да трябва да го качиш на тестовия сървър(UAT).

Не се сещам за минуси. Минус може да е просто деплойъра, който ползвате. Ние на работа ползваме Capistrano, който е писан на Ruby, а аз чисто и просто не харесвам руби като език.


Надявам се, че отговора ми е задоволителен.

User avatar
Ticketa
Турист
Турист
Posts: 469
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Post by Ticketa » Sat Jul 20, 2019 6:38 am

Благодаря за информацията. Явно съм още в епохата на динозаврите. Всимко го правя ръчно - всеки път. Трябва да прегледам някой друг урок като за "начинаещ" за деплой.

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 861
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Sat Jul 20, 2019 5:31 pm

Зависи от цялостния ти workflow, така че трябва да се нагодиш.

Post Reply