Задать вопрос
Ashlis
@Ashlis

Ошибка CI / CD в gitlab. Как исправить?

Последние 3 push'а в gitLab у меня во вкладке CI/CD появляется ошибка (статус failed) и соответственно изменения на сервере не применяются.
6000055ac3417411061163.png

Об ошибке пишет так:
600005f36d3a0653647013.png

Тут я обратил внимание на:
error: Your local changes to the following files would be overwritten by merge:
package-lock.json
Please commit your changes or stash them before you merge.

Но не совсем понимаю. Зачем и где он просит меня сделать комит или спрятать в стэш если я и так уже сделал комит и передаю в gitlab?
  • Вопрос задан
  • 1283 просмотра
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
smilingcheater
@smilingcheater
Дополню ответ выше, откуда взялись изменения. На скрине видно, что для деплоя запускается отдельный скрипт, который выполняет
cd ...папка... && git pull && npm install && ...
т.е. переходи в какую-то папку на сервере, стягивает изменения из гита, запускает установку npm-пакетов и что-то собирает. Так вот - выполнение команды npm install может переписывать файл package-lock.json (который у вас на скрине как раз и помечен изменённым). Чтобы NPM ставил всё чётко по lock-файлу - надо использовать команду npm ci, https://docs.npmjs.com/cli/v6/commands/npm-ci
Далее, чтобы пофиксить текущую ситуацию, наиболее простым вариантом мне видится: 1. зайти на сервер руками и откатить изменения в этом файле. 2. поменять команду в .gitlab-ci.yml
Если доступа на сервер нет - то можно попросить того, у кого он есть.
Если с этим проблемы - можно модифицировать команду деплоя, добавив в неё сброс стейта репозитория например через git reset --hard (будте аккуратны с этой командой!) перед выполнением git pull.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Микропетпроджект - домашнее облако homeCloud
Ну судя по всему там, где пытается развернуть приложение, доставка сделана тоже через гит и ТАМ вот есть изменения незатреканные. Откуда они там взялись - другой вопрос, то ли в процессе работы что то создается и не удаляется, то ли что то при каком то деплое пошло не так
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽