Управление версиями веб-проект PHP

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

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

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
33
задан Ijas Ameenudeen 18 January 2019 в 10:58
поделиться

8 ответов

Мы были в аналогичной ситуации, и вот то, что мы закончили тем, что делали:

  • Настроенный два ответвления - ответвление выпуска и разработки.
  • Для ответвления разработки, включайте рычаг постфиксации, который развертывает репозиторий на dev сервере, таким образом, можно протестировать.
  • , После того как Вы готовы, Вы объединяете свои изменения в ответвление выпуска. Я также предложил бы включить рычаг постфиксации для развертывания там.

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

Мы должны были использовать единственный сервер разработки, потому что мы использовали собственный CMS и столкнулись с лицензированием проблем. Таким образом, наш рычаг постфиксации был простым ботом FTP.

26
ответ дан 27 November 2019 в 18:38
поделиться

Вот то, что мы делаем:

  • Каждый dev имеет VM, который настроен как наш сервер интеграции
  • , сервер интеграции имеет пространство для Соединительной линии, каждого пользователя и нескольких слотов для ответвлений
  • рабочий сервер
  • , Рычаги находятся в Подверсии на адрес электронной почты, когда фиксации сделаны

В начале проекта, пользователь делает ответвление и проверяет его на их персональном VM, а также захватывает чистую копию базы данных. Они делают свою работу, фиксируя, когда они идут.

, После того как они закончили все в своем собственном личном пространстве, что они входят в сервер интеграции и проверяют их ответвление, запускают их тесты, и т.д. Когда все, что передает их ответвление, объединяется в Соединительную линию.

Соединительная линия восстановлена, полный комплект тестов выполняются, и если все хорошо, это получает большой старый штамп одобрения, отмеченного на SVN и способствовавшего Производству в конце ночи.

, Если в какой-либо точке фиксация кем-то еще сделана, мы получаем электронное письмо и можем объединить те изменения в наши отдельные ответвления.

5
ответ дан 27 November 2019 в 18:38
поделиться

Каждый из Вас мог выполнить его локально, или самостоятельно dev сервер (или даже тот же с различным портом...).

0
ответ дан 27 November 2019 в 18:38
поделиться

Бобовый стебель имеет встроенные рычаги постфиксации для развертывания на разработке, подготовке и рабочих серверах.

3
ответ дан 27 November 2019 в 18:38
поделиться

Одним способом использовать подверсию для разработки PHP является также установка репозиторий для одного или всех трех разработчиков, и используйте этот репозиторий, больше как инструмент синхронизации, чем истинное управление версиями.

Вы могли,

  • Заставляют repo

  • Добавить Вашу всю структуру документа PHP Вашего проекта

  • Контроль копия этого repo в корректное пятно на Вашем dev сервере

  • Использование рычаг svn, который активируется на фиксации

Этот рычаг, автоматически обновит содержание dev, разъединяют, каждый раз, когда кто-либо в команде регистрируется в любом коде.

Hook находится в:

svn_dir/repo_name/hooks/post-commit

И мог быть похожим:

/usr/bin/svn/path_to/webroot - имя пользователя svn_user - пароль svn_pass

, Который обновит Вашу рабочую копию на dev сервере к последней регистрации.

2
ответ дан 27 November 2019 в 18:38
поделиться

Один возможный путь (существуют, вероятно, лучшие пути):

у Каждого из Вас должна быть Ваша собственная проверенная версия проекта.

Имеют локальную копию сервера на Вашем компьютере и тестируют его там в течение дня. Затем в конце каждого дня (или каждый раз, когда), Вы объединяетесь вместе независимо от того, что Вы готовы протестировать, и Вы проверяете его на dev сервер и тестируете его.

0
ответ дан 27 November 2019 в 18:38
поделиться

Другой инструмент, который можно использовать для сборок, TeamCity, который свободен для 20 конфигураций сборки (достаточно для самых небольших компаний/проектов.) Этот путь можно запустить тесты, а также запланировать сборки.

0
ответ дан 27 November 2019 в 18:38
поделиться

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

2
ответ дан 27 November 2019 в 18:38
поделиться
Другие вопросы по тегам:

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