Публикация Allure отчетов на GitHub pages с сохранением истории запусков и трендом.

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 61

  • @ЕленаФилатова-е1в
    @ЕленаФилатова-е1в 4 дня назад

    спасибо! очень полезное видео!

  • @Lyudmila157
    @Lyudmila157 10 месяцев назад +1

    Отличная подача, все рассказываете по этапам. спасибо что делитесь с нами.

    • @Lyudmila157
      @Lyudmila157 10 месяцев назад

      я все посмотрела, повторила, у меня получилось, да - не без ошибок, и не за 1 день, а дня за 3 головной боли))) но все получилось, ура!! прям счастье. СПАСИБО!

  • @igora6367
    @igora6367 10 дней назад

    Кайф!!!

  • @Alexander_Bublik
    @Alexander_Bublik Год назад

    Большое спасибо! Годный контент! 👍

  • @АлексейТельнов-щ7ы

    Спасибо! Запишите такое же видео про Gitlab.

  • @anastasiaerovaya5772
    @anastasiaerovaya5772 10 месяцев назад

    Спасибо! Все получилось!

  • @vladimir5215
    @vladimir5215 Год назад +2

    Очень годный контент у нас , просто находка , расскажите еще про ci-cd , очень уж интересно как в даных реалиях запускать, через Docker, docker-compose , спасибо за старания

    • @EugeneOkulik
      @EugeneOkulik Год назад

      Ой, ну это вообще девопсятина. Могу попробовать. Довольно обширная тема. А можете какой-то сценарий накинуть, чтобы рассказать о нужном?

    • @vladimir5215
      @vladimir5215 Год назад

      @@EugeneOkulik В данный момент я использую упрощенный YML-файл на GitHub Pages. Он, можно сказать, на "костылях" прогоняет тесты и отправляет результаты в Telegram-бота с помощью следующего кода:- name: Send result to Telegram
      uses: appleboy/telegram-action@master
      if: always()
      with:
      debug: true
      token: ${{ secrets.TELEGRAM_TOKEN }}
      to: ${{ secrets.TELEGRAM_TO }}
      message: |
      Ссылка на отчет: ${{ env.REPORT_URL }}
      Моя идея заключается в том, чтобы выполнять actions через Docker Compose и запускать их через GitLab или Jenkins. В теории я понимаю, как это все можно реализовать. Раньше у меня не было полноценных отчетов в виде историй в Allure, но сейчас мои отчеты выглядят более профессионально благодаря только вам . Я был бы благодарен за вашу экспертизу в области CI/CD.

    • @АндрейНестеров-ц8ц
      @АндрейНестеров-ц8ц Год назад

      Ну почему сразу девопсятина? Сейчас очень часто, как минимум, CI от тестеров требуют. Было бы очень интересно посмотреть и научиться как, скажем, подружить и запускать тесты c allure отчетом как плагином в jenkins, запущенном в docker.

    • @SeniorTester
      @SeniorTester  Год назад

      Я как-то не совсем понял, запустить дженкинс в докере на github actions?
      Здесь как раз и показал ту информацию о CI, знание которой требуется от QA

    • @АндрейНестеров-ц8ц
      @АндрейНестеров-ц8ц Год назад

      @@SeniorTester я имел ввиду локальный докер, в нем запустить дженкинс, в нем аллюр отчеты и все это настроить. настроить сборки в дженкинсе, настроить аллюр отчеты (параметры, шаги..) и так далее. нет пределов совершенству:))

  • @ВіталійВещицький-ц9щ
    @ВіталійВещицький-ц9щ 4 месяца назад

    Давай повторим только с self-host? 😊 Как будет там? По идеи там уже все артифаты останутся и не нужно будет каждый раз скачивать?

    • @SeniorTester
      @SeniorTester  4 месяца назад

      По идее, подход будет таким же. Но нужно будет поэкспериментировать, да

  • @Olesia_Kravets
    @Olesia_Kravets 10 месяцев назад

    Здравствуйте! Евгений, спасибо большое за контент! Подскажите, вы сказали, что получить id первого allure results в json можно несколькими способами. А какие способы еще есть, если не через python?

    • @SeniorTester
      @SeniorTester  10 месяцев назад

      Там все способы подзамороченные. Я и выбрал Python, потому что он наиболее понятный. Еще есть достаточно простой способ, но через установку программы jq на комп, но что-то у меня с этим не срослось, не помню что.
      Можете погуглить "bash get json field".

  • @EvgeniaMakarevich
    @EvgeniaMakarevich 9 месяцев назад

    Cпасибо большое за классный контент! Подскажите, а возможно ли создавать несколько allure отчетов на разных github pages, но в одном проекте? У меня есть два yaml файла для разных тестов. Столкнулась с проблемой, что это все создается в одном github page.

    • @SeniorTester
      @SeniorTester  9 месяцев назад

      Не пытался решить такое. Но теоретически можно сделать как-то, что один отчет у вас будет по адресу username.github.io/repo/first, а второй username.github.io/repo/second

  • @pink_x1
    @pink_x1 9 месяцев назад

    Супер, спасибо! Вопрос: а можно ли как-то деплоить отчет в github pages внутри другого репозитория, а не того, где тесты крутятся? 👀

    • @SeniorTester
      @SeniorTester  9 месяцев назад

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

  • @null-lu8it
    @null-lu8it 5 месяцев назад

    Спасибо! Такой вопрос, а можно ли все эти действия: запуск тестов, генерация отчета и публикация сделать в одной джобе?

    • @SeniorTester
      @SeniorTester  5 месяцев назад

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

    • @null-lu8it
      @null-lu8it 5 месяцев назад

      @@SeniorTester спасибо)

  • @evgeniykamkin8169
    @evgeniykamkin8169 9 месяцев назад

    (off topic) Евгений, какой дистрибутив линукс вы используете и почему именно его?)

    • @SeniorTester
      @SeniorTester  9 месяцев назад

      Это pop os, основана на Ubuntu, почти то же самое, но немного перелицована. Просто понравилась больше чем Ubuntu. Может, попробовал бы что-то ещё, но тогда, когда выбирал, закончилось время на эксперименты.

  • @DaniilUbozhenko
    @DaniilUbozhenko Год назад

    Евгений здравствуйте! Когда Вы планируете запустить обучение следующей группы??

    • @SeniorTester
      @SeniorTester  Год назад

      Здравствуйте. Где-то в начале октября, ближе к 10-му числу. График: понедельник, четверг.

    • @SeniorTester
      @SeniorTester  Год назад

      Сейчас получается, что дата старта - 9 октября. Дата может немного измениться, но где-то в тех числах начинаем.
      Запись и оплата у меня на сайте (ссылка есть в описании к видео)

  • @kateoctober
    @kateoctober 7 месяцев назад

    Спасибо большое за видео! Очень доступно и понятно, для работы супер пригодилось!) Хочу уточнить такой момент, не сохраняется история для trends и на шаге "run: mkdir allure-results && unzip artifacts.zip -d allure-results", выдает "Process completed with exit code 9." :( Видела, что у вас вроде тоже такую ошибку выдает, может быть есть решение?

  • @Fredyshar
    @Fredyshar Год назад

    Большое спасибо! Очень круто всё объяснили) Я реализовал на своем проекте на Jave данный метод. но вот столкнулся с проблемой: если переименовать тест в проекте и запушить на гитхаб, то в истории продолжает хранится тест со старым названием (а его уже не существует). Не подскажет как обойти эту проблему?)

    • @SeniorTester
      @SeniorTester  Год назад

      Я бы сказал, что это, скорее, хорошо, чем плохо. История хранится в том виде, в котором всё и выполнялось. Но если есть желание избавиться от этого теста в истории, то придется попотеть )))
      Нужно будет найти в артефактах все данные от этом тесте, дописать джобу, которая эти данные удаляет и один раз запустить пайплайн. После этого добавленную джобу можно убрать.
      И я сейчас чуть поизучал и у меня есть предположение, что папку allure-results можно не копировать, а копировать только файлы истории. И, возможно, это починит эту ситуацию, но нужно экспериментировать.

    • @Fredyshar
      @Fredyshar Год назад

      @@SeniorTester будет время займусь экспериментами, сейчас возможности попотеть нет :) А пока поставил заглушку, а то тест был упавшим и вносил смуту в общую картину) Еще раз спасибо!)

  • @ПавелСтаршинов-в3ч
    @ПавелСтаршинов-в3ч 9 месяцев назад

    Евгений, спасибо! Но вопрос. У меня такая ситуация: если какие то из тестов не проходят (FAILED), тогда вторая джоба Generate report даже не запускается. Даже не так. Внутри джобы Test , если тесты с ошибками (шаг завершает так: Error: Process completed with exit code 1.), то следующие шаги джобы не выполняются и джоба не завершается

    • @SeniorTester
      @SeniorTester  9 месяцев назад +1

      Посмотрите в мои настройки. Там есть настройка, которая называется как-то типа continue on failure

    • @ПавелСтаршинов-в3ч
      @ПавелСтаршинов-в3ч 9 месяцев назад

      Спасибо. Решил проблему проставлением во всех шагах всех джоб условия : if: always()

  • @duke007x3
    @duke007x3 Год назад

    спасибо за качественный видос!
    ВОпрос а если запуск первый и никаких артефактов еще нету ? не найдет артефакт по id и упадет с ошибкой?
    УЖе про jenkins писали но и я напишу) хотелось бы для сравнения увидеть урок именно от тебя так как очень подробно и доступно обьясняешь)
    Например в этом уроке понравилось что ты сначала на примере api запросов показал что и для чего делать будем. Мне помогло потом найти свою ошибку именно благодаря тому, что тоже поигрался с запросами
    Короче спасибо еще раз за качественный материал)

    • @SeniorTester
      @SeniorTester  Год назад +1

      Список артефактов вернётся пустой и упадёт, да. Первый раз лучше запустить без копирования истории.
      С дженкинсом подумаю. Я там не очень дружу с пайплайнами

    • @duke007x3
      @duke007x3 Год назад

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

    • @IrinaFrutiz
      @IrinaFrutiz 11 месяцев назад

      можно пометить строчки, где происходит распаковка и копирование результатом " ||true", тогда если данных нет, то пройдет на следующий этап. В тестах напишет "Download history (имя джобы) No files were found with the provided path: allure-results. No artifacts will be uploaded."

  • @Aliaksandr-e5n
    @Aliaksandr-e5n 10 месяцев назад

    при добавлении jobs: download-history начала появляться ошибка - IndexError: list index out of range -- я так понимаю не находит аллюр отчет для скачивания... как исправить? подскажите плиз

    • @SeniorTester
      @SeniorTester  10 месяцев назад

      Может быть несколько причин. Мог умереть токен или срок хранения последнего отчёта истёк.
      Если второе, то можно или разрешить этому шагу падать или запустить один раз без скачивания истории

    • @Aliaksandr-e5n
      @Aliaksandr-e5n 10 месяцев назад

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

    • @SeniorTester
      @SeniorTester  10 месяцев назад

      Нужно смотреть что возвращает запрос, который запрашивает старые артефакты. Возможно, там как раз и написано что не так

  • @ТимурАрчаков-я4ш
    @ТимурАрчаков-я4ш 9 месяцев назад

    Евгений, здравствуйте!
    Делал все по вашему гайду и столкнулся с ошибкой на этапе Store allure results в job-e 'test'.
    Ошибка следующая:
    Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
    Как я понимаю, проблема связана с тем, что в job-ax 'download-history' и 'test' создается артефакт с одинаковым именем allure-results.
    Подскажите, пожалуйста, как можно решить данную проблему?

    • @SeniorTester
      @SeniorTester  9 месяцев назад

      Странно. У меня не было такой проблемы. Возможно, что-то уже поменялось.
      Можно тогда в джобе с историей сохранять всё в results и эту же папку оставлять артефактом. А в джобе test после скачивания артефакта results переименовывать скачанную папку в allure-results

    • @ТимурАрчаков-я4ш
      @ТимурАрчаков-я4ш 9 месяцев назад

      ​@@SeniorTester
      Здравствуйте, Евгений! Я сразу не упомянул, что использовал все последние версии actions. Это и есть причина такой ошибки, а конкретно использование upload-artifact@v4 (у вас в гайде использовалась предыдущая v3).
      В ней как раз и появились изменения, касательно уникальных имен артефактов. Также появятся и другие проблемы при использовании новых версий некоторых других actions. В итоге проблему я решил просто оставшись на более старых версиях некоторых actions. Совет для других - для начала повторите точь в точь как в видео. Все будет работать корректно. Евгений, cпасибо вам большое за ответ, очень люблю ваши видео, успехов вам!

  • @ira8896
    @ira8896 Год назад

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

    • @SeniorTester
      @SeniorTester  Год назад

      Нужно видеть что там у вас прячется под этим all. Можете скинуть ссылку на репозиторий? RUclips ссылку не пропустит, можете написать мне в LinkedIn, telegram или Instagram

    • @ira8896
      @ira8896 Год назад

      @@SeniorTester у меня все как у вас:)

    • @SeniorTester
      @SeniorTester  Год назад

      А есть ошибки какие-то или просто ничего не запускется?

    • @ira8896
      @ira8896 Год назад

      @@SeniorTester просто скипает тесты, ошибок нет. Я добавила кусочек кода и указала саму папку с тестами, но это тоже не помогло
      - name: all
      if: "github.event.inputs.deployment_target == 'all'"
      run: pytest tests --alluredir=allure-results

    • @SeniorTester
      @SeniorTester  Год назад

      Ну странно. Если всё как у меня, то должно работать. Хорошо бы посмотреть что пишется в логе этой джобы

  • @rafaelstudy4426
    @rafaelstudy4426 Год назад

    и про Дженкинс !!

  • @Dimok73
    @Dimok73 Год назад

    Будет классно если раскажите как деплоить на сваой веб сервер

    • @SeniorTester
      @SeniorTester  Год назад

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

    • @Dimok73
      @Dimok73 Год назад

      @@SeniorTester а такое применяется в проектах. Деполой отчета allure на веб сервер? Или достаточно гит?