Выезд для непрерывной интеграции

Это не может быть сделано в C#; необходимо объявить новый тип класса. Самым близким можно войти в C#, является, вероятно, именованный вложенный класс:

public class StartHere{
    private class Foo : Example {
        public override void  doStuff()
        {
            Console.WriteLine("did stuff");
        }
    }
   public static void Main(string[] args){
      Example x = new Foo();
      x.doStuff();
   }
}
5
задан John Rasch 21 October 2009 в 02:21
поделиться

3 ответа

Итак, что мы обычно делаем, так это создаем ветвь "build", которую строит CI-сервер. Мы объединяем все, что мы хотим включить в ночную сборку, в ветку сборки, и она будет развиваться там.

На самом деле мы не разрабатываем ветку сборки, но у нас есть ветки разработки, которые используются для сохранения изменений которые не готовы к выпуску в тестовые среды.

2
ответ дан 15 December 2019 в 06:29
поделиться

Основные рекомендации, которые я бы дал для CI (больше похоже на практические правила):

  1. Сделайте так, чтобы он извлекал код из СТАРШИЙ МАСТЕР. Сделайте свою ГОЛОВУ / МАСТЕРА всегда как можно позже и как можно как можно более стабильной.
  2. Никто не может передать сломанный код в СТАРШИЙ МАСТЕР. Если это произойдет, это означает, что кто-то сломал сборку.
  3. Тот, кто нарушает сборку, должен быть стремится исправить это, как только возможно.
  4. Пусть ваш CI запускает сборки на за фиксацию. Итак, как только кто-то передает сломанный код ГОЛОВА, CI достанет и сломает сборка. Большинство серверов CI что я видел, поддерживает этот метод operandi.
  5. Вы также можете настроить свой CI на создавать ночные сборки и отмечать код, когда они генерируют пакеты. Это тоже хорошо практика, и вы видите, что на многих CI из открытых источников проекты по всему миру.

Некоторые из моего опыта: Наш CI получает код из HEAD / MASTER. Здесь мы используем git, поэтому нашим разработчикам всегда очень легко работать с ветками и поддерживать их синхронизацию, но они могут только зафиксировать стабильный код в HEAD / MASTER.

1
ответ дан 15 December 2019 в 06:29
поделиться

Правильный ответ зависит от того, как вы организовываете свой код.

Если основная ветка всегда должна быть стабильной / работающей, тогда вы просто строите из нее.

Если у вас есть ветка, которая является "золотой" веткой, то ...

В нашем магазине у нас есть три вида ветки:

  • Mainline // всегда строится,
0
ответ дан 15 December 2019 в 06:29
поделиться
Другие вопросы по тегам:

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