Я использую phing локаль или удаленный?

Мне связали вопрос с phing. Я использую его на своей локальной машине разработки для развертывания приложения, или я называю его через ssh от производственной машины? Я не уверен, где сделать шаги от Eran Galperin (Какова Ваша предпочтительная стратегия развертывания PHP). Я - новичок со сценариями развертывания. Так будьте прощающими :)

Marco

5
задан Community 23 May 2017 в 12:22
поделиться

5 ответов

Обычно у вас есть два сценария развертывания - один, который вы запускаете локально , который ssh ​​подключается к удаленному серверу, а затем запускает удаленный скрипт.

Ваш локальный сценарий может выполнить svn export , заархивировать содержимое и сначала отправить его (scp) на удаленный сервер. Удаленный сценарий будет выполнять такие операции, как перенос, перезапуск служб и т. Д.

5
ответ дан 13 December 2019 в 05:34
поделиться

Phing можно применять по-разному.

Если у вас нет директив по развертыванию, лучше всего сначала сгенерировать «тестовую сборку» из вашей локальной копии, проверить, работает ли она должным образом, а затем сгенерировать продуктивную сборку.

В некоторых случаях, когда вам необходимо следовать определенным правилам в среде разработки, вы можете легко адаптировать Phing для удовлетворения этих требований.

2
ответ дан 13 December 2019 в 05:34
поделиться

Я бы пошел с пулом потоков, хотя у него есть свои проблемы, MS инвестирует в его улучшение, и кажется, что у .NET 4 будет улучшенный. На данный момент, я думаю, что лучше всего было бы использовать пул потоков, обернутый в ваш собственный объект и подождать с принятием решения о вашей собственной реализации

-121--3560006-

Я знаю, что это старое, но я наткнулся на ту же самую точную проблему, и я нашел лучшее решение этого тогда с помощью розеток или отражения...

То, что я сделал, это создал новый класс, который уходит из WebHeaseCollection и обходит проверку того, что вы держите внутри него:

public class MyHeaderCollection:WebHeaderCollection
{
    public new void Set(string name, string value)
    {
        AddWithoutValidate(name, value);
    }
    //or
    public new string this[string name]
    {
        get { return base[name]; }
        set { AddWithoutValidate(name, value); }
    }
}

и вот как вы его используете:

    var http = WebRequest.Create("http://example.com/");
    var headers = new MyHeaderCollection();
    http.Headers = headers;

    //Now you can add/override anything you like without validation:
    headers.Set("Host", http.RequestUri.Host);
    //or
    headers["Host"] = http.RequestUri.Host;

Надеюсь, это поможет любому, кто ищет это!

-121--2914408-

Основная стратегия заключается в создании сборки (в основном копии веб-приложения, которую можно разместить в сети) на локальном компьютере, а затем ее развертывании на сервере.

2
ответ дан 13 December 2019 в 05:34
поделиться

Вы запускаете его на своей локальной машине, а PHPing подключится к производственному серверу и развернет сайт. :)

2
ответ дан 13 December 2019 в 05:34
поделиться

Вы можете делать это в обоих случаях. Вы можете запустить инструмент локально в процессе разработки, чтобы провести тесты и просто убедиться, что ваш код находится в хорошем состоянии. Автоматизация сервера (если вы решите это сделать) также может запускать тесты, генерировать документацию и развертывать изменения в тестовых или производственных установках.

Выполнение локальной работы снижает вероятность того, что процесс застопорится на настройке сервера, в то время как CI работает на регулярной основе, чтобы убедиться, что ничего не было сломано по ошибке.

0
ответ дан 13 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: