Можно ли с помощью Travis-CI инициировать перестроение, не выдвигая новый коммит в GitHub?
Вариант использования: сборка завершается неудачно из-за внешних факторов. Источник на самом деле правильный. Он будет построен нормально и пройдет, если просто перезапустить.
Например, происходит apt-get
сбой из-за сбоя сервера пакетов, но сервер снова работает. Тем не менее, статус сборки «застрял» на «не удалось», пока не будет передан новый коммит.
Есть ли какой-нибудь способ подтолкнуть Travis-CI к другой сборке, кроме «фиктивного» коммита?
Если вы откроете вкладку « Настройки » для репозитория на GitHub, нажмите « Интеграции и сервисы» , найдите Travis CI и нажмите « Редактировать» , вы увидите кнопку « Тестировать сервис» . Это вызовет сборку.
источник
Settings
в репозитории на Github , а не на странице репо Трэвиса! Я не могу поверить, что я потратил 20 минут, пытаясь найтиService Hooks
на странице Трэвиса. :(Я знаю, что вы сказали, не нажимая коммит, но кое-что, что удобно, если вы работаете над веткой, отличной от master, это зафиксировать пустой коммит.
git commit --allow-empty -m "Trigger"
Вы можете сделать ребаз в конце и удалить сквош / удалить пустые коммиты и работать через все git-хуки :)
источник
Я нашел другой способ принудительно перезапустить сборки CI и другие триггеры:
git commit --amend --no-edit
без изменений. Это позволит воссоздать последний коммит в текущей ветке.git push --force-with-lease origin pr-branch
,источник
--amend
флаг также может не изменитьHEAD
коммит в некоторых случаях.git push --force-with-lease origin pr-branch
чтобы случайно неВойдите в Travis и перейдите на страницу сборки. Вы увидите кнопку «Перезапустить сборку» в правом верхнем углу рядом со значком шестеренки:
Примечание: вам нужно иметь доступ на запись к связанному репозиторию GitHub, чтобы это работало.
источник
Если у вас есть новый проект на GitHub, который имеет .travis.yml, но никогда не тестировался, вы можете запускать тесты без коммитов следующим образом:
источник
Вы можете сделать это с помощью Travis CLI . Как описано в документации , сначала установите инструмент CLI, затем:
Вы можете хранить этот токен в переменной окружения
TRAVIS_TOKEN
, если файл, в котором вы его храните, не является управляемым версией где-то общедоступным.Я использую эту функцию для отправки триггеров:
источник
Теперь Трэвис предлагает способ запуска «пользовательской» сборки из своего веб-интерфейса. Найдите кнопку меню «Дополнительные параметры» с правой стороны в верхней части страницы вашего проекта.
Затем вам будет представлено диалоговое окно, в котором вы можете выбрать ветку и настроить конфигурацию:
В то время, когда я пишу это, он находится в бета-версии и, кажется, слегка глючит (но я ожидаю, что они скоро исправят проблемы).
источник
Если вы устанавливаете Travis CI Client, вы можете
travis restart <job#>
вручную запустить сборку из консоли. Вы можете найти последнюю работу # для филиала, используяtravis show <branch>
ОБНОВЛЕНИЕ: К сожалению, похоже, что это не запускает новую сборку с использованием последнего коммита, а просто перезапускает предыдущую сборку с использованием предыдущего состояния репо.
источник
Я должен упомянуть здесь, что у нас теперь есть средства для запуска новой сборки в сети. См. Https://blog.travis-ci.com/2017-08-24-trigger-custom-build для получения подробной информации.
TL; DR Нажмите «Дополнительные параметры» и выберите «Построение триггера».
источник
build #xxxx has been restarted
если выЕсли сборка никогда не происходила (возможно, вы не вовремя включили переключатель сборки Pull-Request), вы можете пометить Pull-запрос на Github как закрытый, затем пометить его как открытый, и будет запущена новая сборка.
источник
Я только что запустил тесты по запросу на повторное выполнение, щелкнув здесь «Обновить ветку»:
источник
Вот что сработало для меня, чтобы вызвать перестроение на PR, который Dependabot открыл, но потерпел неудачу из-за ошибок в
.travis.yml
:dependabot/cargo/tempfile-3.0.4
).источник
Пожалуйста, сначала войдите в систему Travis. Кнопка восстановления не появляется, пока вы не вошли в систему. Я знаю, что это очевидно, но кто-то просто нажал на нее ;-)
источник
иногда случается так, что сервер делает некоторые ошибки. Попробуйте выйти / войти, и тогда все может быть правильно. (Да, это случилось сегодня днем со мной.)
источник
Simlpy закройте и снова откройте PR, если у вас нет прав на запись.
источник