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

GitLab CI/CD не видит изменений в .gitlab-ci.yml — как такое может быть?

На новом проекте дали задачу добавить CI/CD в проект. Проекту много лет, до меня его уже писали, но по-факту сейчас CI/CD не работает. Я программист, но на нескольких проектах CI/CD на GitLab настраивал, опыт есть.

Удаляю все старое в .gitlab-ci.yml и делаю простую заглушку, просто проверить что раннер работает:

stages:
  - build
  - static analysis
  - tests
  - deploy

composer install:
  stage: build
  script:
    - echo "composer install"

migration:
  stage: build
  script:
    - echo "migration"

code style:
  stage: static analysis
  script:
    - echo "code style"

phpstan:
  stage: static analysis
  script:
    - echo "phpstan"

api tests:
  stage: tests
  script:
    - echo "api tests"

deploy prod:
  stage: deploy
  only:
    - main
  script:
    - echo "deploy"


Заливаю, и вижу что GitLab запускает старый пайплайн. А изменений в .gitlab-ci.yml как-будто не видит вообще.

Делаю другую попытку - возвращаю старое содержимое .gitlab-ci.yml, и в одной из стадии добавляю простое echo "Testing":

script:
    - echo "Testing"
    - echo ${APP_VERSION} > version.txt
    - sed -i "s/%ver%/$APP_VERSION/" webpack.config.js


Делаю коммит, пушу, запускаю стадию в которую внес изменения:

6892fb8a4c074182053417.jpeg

Как видно - echo ${APP_VERSION} > version.txt и sed -i "s/%ver%/$APP_VERSION/" webpack.config.js он выполнил, а строчку которую я добавил просто пропустил, как будто её и не было. При этом по строчке "Checking out 3882e092 as refs/merge-requests/6422/head..." проверяю - коммит 3882e092 мой, ветка 6422 моя.

Но изменений не видит. Первый раз с таким сталкиваюсь. Строчка "echo ${APP_VERSION} > version.txt" повторяется один раз во всем проекте. Т.е. точно не может быть такого, что я внес изменения в одном месте, а фактически в пайплайне выполняется код из другого места.

Спросил знакомого девопса с большим опытом - он с таким не сталкивался. Спросил только в тот ли проект я пушу изменения, и точно ли в файл .gitlab-ci.yml - да.
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Простой 11 комментариев
Решения вопроса 1
@HellWalk Автор вопроса
Причина была в том, что в настройках (Settings->CI/CD->General pipelines) был заменен стандартный файл .gitlab-ci.yml, который используется для запуска пайплайна, на файл из вообще другого проекта:

689311bac7f49400766826.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы