Моя цель - показать значки (например: ) на основе результатов конвейера.
У меня есть частный экземпляр gitlab ce omnibus со следующим .gitlab-ci.yml:
image: python:3.6
stages:
- lint
- test
before_script:
- python -V
- pip install pipenv
- pipenv install --dev
lint:
stage: lint
script:
- pipenv run pylint --output-format=text --load-plugins pylint_django project/ | tee pylint.txt
- score=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' pylint.txt)
- echo "Pylint score was $score"
- ls
- pwd
- pipenv run anybadge --value=$score --file=pylint.svg pylint
artifacts:
paths:
- pylint.svg
test:
stage: test
script:
- pipenv run python manage.py test
Поэтому я подумал, что сохраню изображение в артефактах задания на ворс и отобразлю его с помощью функции значка.
Но я сталкиваюсь со следующей проблемой: при просмотре https://example.com/[group]/[project]/-/jobs/[ID]/artifacts/file/pylint.svg, вместо значка появляется следующее сообщение:
The image could not be displayed because it is stored as a job artifact. You can download it instead.
И в любом случае, я чувствую, что это неправильный путь, потому что даже если бы я мог получить изображение, похоже, не было бы способа получить изображение с последней работы, так как URL-адрес gitlab для значков поддерживает только изображения %{project_path}, %{project_id}, %{default_branch}, %{commit_sha}
Итак, как добавить значок в проект gitlab на основе svg, сгенерированного из результатов в конвейере gitlab?
Полагаю, я могу нажать на папку .badge, но это не похоже на чистое решение.