Получить артефакты включенного шаблона gitlab

#gitlab #gitlab-ci #gitlab-api

#gitlab #gitlab-ci #gitlab-api

Вопрос:

Я хотел бы использовать артефакты, созданные шаблоном Security / SAST.gitlab-ci.yml, на заключительном этапе конвейера (отчетность).

Как я могу изменить шаблон Security / SAST.gitlab-ci.yml, чтобы сохранить артефакты где-нибудь в каталоге моего проекта? Я попытался определить следующее для этого шаблона, но это не работает:

 artifacts:
  paths:
    - binaries/
  

Я был бы рад любой поддержке.

Спасибо

Комментарии:

1. Вы создавали артефакты на этапе перед развертыванием?

Ответ №1:

Решение

Ваши параметры необходимо обновить. Поскольку SAST.gitlab-ci.yml не может быть обновлен напрямую, вам необходимо либо переопределить один из блоков вашего gitlab-ci.yml, который включает файл, либо определить и включить ваш пользовательский SAST.gitlab-ci.yml. Похоже, вам может сойти с рук простое переопределение sast блока. В частности, переопределите параметр artifacts -> reports -> sast .

Пример

 sast:
  stage: test
  artifacts:
    reports:
      sast: gl-sast-report.json
  

Вам также необходимо убедиться, что этапы и этап сборки чем-то напоминают

 
stages:
  - build
  - test

include:
  - template: Security/SAST.gitlab-ci.yml

build:
  stage: build
  script:
    - ...
  artifacts:
    paths:
      - binaries/

  

Ссылки

Gitlab SAST: https://docs.gitlab.com/ee/user/application_security/sast /

Комментарии:

1. Спасибо — это звучит интересно. Есть ли шанс сделать это только для одного проекта — у меня нет доступа администратора к этому экземпляру gitlab.

2. @pinas как вы можете вносить какие-либо изменения в SAST.gitlab-ci.yml или gitlab-ci.yml без доступа администратора? Похоже, у вас есть какой-то доступ администратора, основанный на том, что, по вашим словам, вы пытались задать в своем вопросе.

3. Хм, не уверен, что вы имеете в виду, извините — я не очень разбираюсь в gitlab. Итак, у меня есть проект в gitlab, который я контролирую (поэтому я могу зафиксировать gitlab-ci.yml), но SAST.gitlab-ci.yml не является частью моего проекта, а хранится где-то в git, к которому у меня нет доступа. Я ошибаюсь?

4. @pinas не беспокойтесь. SAST.gitlab-ci.yml обновлять не нужно, это шаблон gitlab по умолчанию. Все, что вы делаете, это переопределяете часть sast шаблона при определении блока sast в вашем gitlab-cli.yml. Возможно, вы поймете лучше, если прочитаете SAST.gitlab-ci.yml, который включен здесь: gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci /. … Опять же, вы вносите изменения только в gitlab-ci.yml