Пытаясь понять, что Трэвис CI делает и когда он должен быть использован
Я очень новичок в Git, и я планирую внести свой вклад в какой-то проект с открытым исходным кодом на GitHub после обнаружения небольшой ошибки в нем. После разветвления его и исправления ошибки, я намеревался тянуть запрос, и я заметил, что это появляется:
Failed-сборка Travis CI не удалась
глядя в детали я обнаружил, что это было вызвано Could not find .travis.yml
, что имело смысл, так как я не подписался на Travis Cl и add .Трэвис.YML в хранилище.
Я впервые слышу о Трэвисе и о том, что называется непрерывной интеграцией. И это звучит довольно круто, поэтому, чтобы узнать больше об этом, я посмотрел его в Википедии.
Travis CI-это размещенная, распределенная служба непрерывной интеграции используется для построения и тестирования проектов, размещенных на GitHub. Travis CI автоматически определяет, когда фиксация была сделана и передана в репозиторий GitHub, который использует Travis CI, и каждый раз это бывает, он попробует построить проект и запустить тесты. Это включает фиксации для всех ветвей, а не только для главной ветви.
мое нынешнее понимание Travis CI заключается в том, что то, что он делает, автоматически подталкивает проект git commit -am ".."
и я не совсем понимаю какая-то его часть.
By построение проекта и запустите тесты, какие тесты он будет работать? И как он собирается "строить" проект? (например, компиляция его в двоичный файл?)
в нем говорится, что" это включает в себя коммиты для всех ветвей " - но что, если я не хочу совершать все ветви?
это нормально, если я вообще не использую Travis Cl? При каких обстоятельствах лучше использовать его (или он должен быть использован)?
2 ответа:
самый простой способ объяснить Travis CI заключается в том, что он запускает тесты вашей программы каждый раз, когда вы совершаете GitHub (это может быть настроено многими способами, и вы всегда можете отключить сборки на некоторых ветвях). Дело в том, что вы часто можете очень быстро обнаружить, если ваш коммит сломал что-то, и исправить это, прежде чем это станет проблемой. Я бы рекомендовал запускать Travis CI на каждом репозитории GitHub, в котором у вас есть модульные тесты, и использует язык программирования, поддерживаемый Travis CI. С настройка Travis CI очень проста, обычно я не вижу веской причины не использовать ее, если вам все равно, есть ли у вас тесты в вашей программе или нет. Не стесняйтесь оставлять комментарии, если у вас есть еще вопросы. Вы можете прочитать больше о Travis CI здесь.
как вы уже обнаружили, что такое Трэвис-CI, я бы прямо указал на вопросы, которые у вас есть.
построив проект и запустив тесты, какие тесты он будет запускать? И как он собирается "строить" проект? (например, компиляция его в двоичный файл?)
на
.travis.yml
файл, в котором вы указываете свою ОС, язык программирования, ветвь РЕПО, имя файла проекта и другие сведения. Прочитав этот файл, Travis-CI будет использовать конкретный компиляторы, которые установлены на их сервере для компиляции нашего кода. Вероятно, у них будет тот же механизм, что и у нас для Github. В первый раз они могут вытащить код [если мы указали определенные ветви, они могут вытащить код только из этих ветвей]. Кроме того, мы аутентифицировались, чтобы использовать нашу учетную запись с Travis-CI, всякий раз, когда мы делаем фиксацию, должно быть какое-то уведомление должно срабатывать на сервер Travis-CI, таким образом, он будет распознан как фиксация, и он начнется скомпилировать.
в нем говорится, что" это включает в себя коммиты для всех ветвей " - но что, если я не хочу совершать все ветви?
вы можете указать различные ветви или
master
филиала. И он должен компилировать только определенные ветви, указанные в .
это нормально, если я вообще не использую Travis Cl? При каких обстоятельствах лучше всего использовать его (или это должно быть используется)?
Да, все в порядке. Ничего особенного. Но какие преимущества вы будете упускать, не используя этот простой в интеграции движок с вашим РЕПО. Каждый раз, когда вы совершаете это может быть возможно, что он пропустит что-то, и он не мог скомпилироваться из-за кода. Как ты узнаешь? Таким образом, Вы должны использовать Travis-CI.
я написал блог post который вы можете прочитать, чтобы узнать, что такое Travis-CI, непрерывные интеграции и как связать Travis-CI с вашим РЕПО Github. Я написал его для быстрого хранилища.