Skip to content
This repository has been archived by the owner on Mar 27, 2022. It is now read-only.

Pipeline Autotests flow #234

Open
02421fa799ff opened this issue Mar 29, 2021 · 23 comments
Open

Pipeline Autotests flow #234

02421fa799ff opened this issue Mar 29, 2021 · 23 comments
Assignees
Labels

Comments

@02421fa799ff
Copy link
Collaborator

No description provided.

@atherdon
Copy link
Owner

a little bit more information will be highly appreciated :)

@02421fa799ff
Copy link
Collaborator Author

02421fa799ff commented Mar 29, 2021

  1. К репозиторию интегриорована система автоматического развертывания кода приложения через интеграцию с сервисами heroku
  2. После каждого создания пулл реквест или пуша участника проекта запускается создание сборки приложения.
  3. В процессе сборки стаибильной версии из исходного кода необходимо предвартьельно запускать автоматические тесты. После успшного выполнения всех кейсов продолжеть процесс сборки, в случае провала - останавливать процесс
  4. Необходима система оповещения всех участников проекта о прохождении релизов, а также с возможностью проверить логи релизвов и понять проблему падения тестов

@02421fa799ff
Copy link
Collaborator Author

02421fa799ff commented Mar 29, 2021

После аквтивации тестированивания при сборке кода приложения возросло число пулл реквестов, в которых не все тесты проходят успешно.
screen

@atherdon
Copy link
Owner

< я подключил обязательным пуск и прохождение тестов для кажлого пулл реквеста
< у нас большая статистиика по падениям в прохождении тестов
< во вкладке conservation на детальной странице пулл реквеста отображается информация о статусах тестирования

и доступна ссылка на дет альную информацию с журналированием процесса
но проблема в том, что инфа доступна только аутентифицированному пользователю в heroku и члену команды внутреннего интерфеса панели аккаунта

image

@atherdon
Copy link
Owner

@dennyunited выглядит гуд - теперь поидее нужно покрыть тестами и начать использовать Heroku CI - потому что оно будет с меня плату брать.

еще я вижу такую же проблему как и на фронте с пулл-реквестами от renovate. Наверное их нужно переконфигурировать и направлять на dev версию. таким образом мы защищаемся от ошибок в main и еще упростит работу внутри pipeline

Repository owner deleted a comment from atherdon Mar 30, 2021
@02421fa799ff
Copy link
Collaborator Author

@dennyunited выглядит гуд - теперь поидее нужно покрыть тестами и начать использовать Heroku CI - потому что оно будет с меня плату брать.

еще я вижу такую же проблему как и на фронте с пулл-реквестами от renovate. Наверное их нужно переконфигурировать и направлять на dev версию. таким образом мы защищаемся от ошибок в main и еще упростит работу внутри pipeline

@dennyunited выглядит гуд - теперь поидее нужно покрыть тестами и начать использовать Heroku CI - потому что оно будет с меня плату брать.

еще я вижу такую же проблему как и на фронте с пулл-реквестами от renovate. Наверное их нужно переконфигурировать и направлять на dev версию. таким образом мы защищаемся от ошибок в main и еще упростит работу внутри pipeline
Heroku CI уже подключено, при развертывании кода проходит запуск сервисных тестов. У нас появилась проблема в их успешном прохождении и необходимо изучить журнал логов

@02421fa799ff
Copy link
Collaborator Author

@dennyunited выглядит гуд - теперь поидее нужно покрыть тестами и начать использовать Heroku CI - потому что оно будет с меня плату брать.

еще я вижу такую же проблему как и на фронте с пулл-реквестами от renovate. Наверное их нужно переконфигурировать и направлять на dev версию. таким образом мы защищаемся от ошибок в main и еще упростит работу внутри pipeline

Вы хотите защить от возможности пушить изменения в main ветку другими участниками, а предоставить права только в development ?

@atherdon
Copy link
Owner

Окей, давайте изучать логи вместе. можете ссылку\ссылки кинуть и описать детальнее что от меня нужно? пока что я:

  • непонимаю как работает pipeline
  • вижу ошибки, но неуверен что я смогу их поправить. мне кажется что просто нужно настроить будет back или buildpack heroku и т.д.

@atherdon
Copy link
Owner

< Вы хотите защить от возможности пушить изменения в main ветку другими участниками, а предоставить права только в development ?

ну это сделать легко. просто теперь, когда у нас при каждом пулл-реквесте собирается preview на heroku - наверное pkg upd я бы просто перетащил в develop

cc @dennyunited

@02421fa799ff
Copy link
Collaborator Author

< Вы хотите защить от возможности пушить изменения в main ветку другими участниками, а предоставить права только в development ?

ну это сделать легко. просто теперь, когда у нас при каждом пулл-реквесте собирается preview на heroku - наверное pkg upd я бы просто перетащил в develop

cc @dennyunited

pkg upd я бы просто перетащил в develop
этот момент не до конца понял( отменить выполнение команды или ..?

@atherdon
Copy link
Owner

сейчас у нас есть 16 открытых пулл-реквестов.
image

все они сделаны ботом, который просто обновляет packages. бот открывает PR в ветку main - я просто так настроил изначально - это default setting. но т.к. теперь у нас меняется процесс разработки - я думаю исправить настройки, чтобы бот, открывал PR в ветку develop. это наверное упростит нам жизнь.

С другой стороны - боты, пуллы и checks - это так как и должна вестись разработка в 2021.
настройку бота я наверное сделаю сам - все равно мне нужно будет обновить ее и на фронтенде.

сс @dennyunited

@02421fa799ff
Copy link
Collaborator Author

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

@02421fa799ff
Copy link
Collaborator Author

непонимаю как работает pipeline
хочу помочь разобратсья вам. мне описать как проходить настройка процессов в heroku ифейсе и какой флоу между различными окружениями?

@atherdon
Copy link
Owner

я повесил renovate на develop, но пока еще не уверен что теперь оно работает правильно.
текущие пуллы я закрыл, посмотрим в течении пару дней

@atherdon
Copy link
Owner

< хочу помочь разобратсья вам. мне описать как проходить настройка процессов в heroku ифейсе и какой флоу между различными окружениями?

настройка наверное ненужна.
давайте так: вот приходит новый девелопер на репозиторий в backend. он работает в своем форке и когда он сделал какую то фичу\фикс - он открывает пулл реквест.

  • что происходит дальше?
  • где мне смотреть функционал его ветки рабочий и т.д и т.д
  • если в общем - то как именно поменялся теперь процесс работы и как мне максимально использовать pipelines теперь.

сс @dennyunited

@atherdon
Copy link
Owner

вроде бот теперь пушит в develop
image

@02421fa799ff
Copy link
Collaborator Author

@atherdon на данный момент я предлагаю для всех текущих разработчиков и новорегов использовать такой флоу доставки и тестирования своих изменений

  1. создается клон актуального состояния из ветки development
  2. вносятся изменения в кодовоую базу приложения, фиксируются и пушатся в репозиторий проекта
  3. срабатывает автоматический триггер, который начинает запуск сборки приложения посредством облачных сервисов heroku
  4. запускаются проверочный тесты, в случае удачного прохождения процесс сборки продолжается
  5. если процесс сборки завершен удачно - то сбокра будет достуна по ендпоинту вида xxxxxx-xxxxxx.herokuapp.com
  6. на gitghub проводится ревью запушенной логики или пулл реквеста
  7. на строне heroku проводится браузерное тетсированияе и пользовтаельское функциональное тестирование (UAT)
  8. в случае прохождения код ревью и всех видов тестирования пулл реквест сливается в development ветку и запускается сборка и развертывание кода на staging окружение heroku
  9. при условии прохождения успешной сборке и тестирования кода на ветке development изменения сливаются на main

@02421fa799ff
Copy link
Collaborator Author

@atherdon вероятно нам стоит попробовать вариант автоматического тестирования и развертывание в режиме с отключенным renovatebot. возможно это исправит проблему неудачного завершения сценария деплоя

@atherdon
Copy link
Owner

@atherdon вероятно нам стоит попробовать вариант автоматического тестирования и развертывание в режиме с отключенным renovatebot. возможно это исправит проблему неудачного завершения сценария деплоя

я могу отключить бота полностью, но не думаю что билд перестанет крешится
@dennyunited

@02421fa799ff
Copy link
Collaborator Author

@atherdon давайте оффнем на время бота, я хотел бы проверить деплой и тестирование в нескольких вариантах

@atherdon
Copy link
Owner

ок, сделаю - там заодно Вадим чтото меняет в структуре веток на фронтенде

@02421fa799ff
Copy link
Collaborator Author

@atherdon я хотел бы попробовать заменить тест кейс от heroku на наш кастомный и проверить деплой. подскажите, пожалуйста, пуск какого набор тестов для данного репозитория можем запрограммать ?

@02421fa799ff
Copy link
Collaborator Author

@atherdon так как у нас на стабильных версиях кодовой базы происходит в момент деплоя падение сбоки из-за фейл в прохождении автотестов, думаю следует через конфиг указывать какие необходимо пускать, а какие скипать

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants