#maven #gitlab-ci #spring-cloud-dataflow #gitlab-api
# #maven #gitlab-ci #spring-cloud-dataflow #gitlab-api
Вопрос:
Поскольку я некоторое время использовал GitLab package registery в качестве удаленного репозитория maven, я хотел бы использовать это для развертывания на spring cloud dataflow server.
Чтобы использовать регистрацию пакетов GitLab, в локальной настройке maven есть раздел сервера со свойствами wagon HttpHeaders:
<server>
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<name>Deploy-Token</name>
<value>DEMO_TOKEN</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
Я попытался добавить удаленный репозиторий maven на сервер потока данных в среде docker-compose dataflow server (пробовал также это как для сервера потока данных, так и для skipper) :
dataflow-server:
image: springcloud/spring-cloud-dataflow-server:${DATAFLOW_VERSION:?DATAFLOW_VERSION is not set!}
container_name: dataflow-server
ports:
- "9393:9393"
environment:
...
- maven.remote-repositories.gitlab1.url=GitLab repo
- maven.remote-repositories.gitlab1.auth.username=Deploy-Token
- maven.remote-repositories.gitlab1.auth.password=DEMO_TOKEN
Это не сработало и выдало сообщение об ошибке:
dataflow-server | java.lang.IllegalStateException: Failed to resolve MavenResource: com.example:processor:jar:0.0.1-SNAPSHOT. Configured remote repositories: : [gitlab1],[springRepo]
похоже, что сервер потока данных попробовал репозиторий GitLab «gitlab1», но потерпел неудачу. Я не уверен, является ли это проблемой токенов или учетных данных или некоторых других конфигураций.
Есть ли кто-нибудь, кто может поделиться опытом использования GitLab deploy-token с сервера потока данных для доступа к артефактам? Большое спасибо за любую помощь.
приветствия.
Обновить:
Я также пробовал это решение https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#_wagon для потока данных.
gitlab4:
url: gitLabURL
wagon:
http:
all:
use-preemptive: true
auth:
username: Deploy-Token
password: DEMO_TOKEN
Это не сработало. все еще пытаюсь.
обновление 2:
Я применил последнее решение также для skipper, и теперь оно выглядит как wokring. Я обновлю, когда я это подтвержду.
Ответ №1:
Да, вам необходимо применить конфигурацию репозитория maven как для SCDF, так и для сервера Skipper.
Для сервера SCDF требуется конфигурация maven:
- чтобы загрузить метаданные приложения для приложений stream / task
- загрузить приложение задачи при запуске (в случае локального развертывания), а также установить соответствующую конфигурацию maven для развертывателей (CloudFoundry)
Для сервера Skipper требуется конфигурация maven:
- для загрузки потоковых приложений (для локального развертывания)
- чтобы установить конфигурацию maven для CF deployer
В зависимости от выбранной вами настройки развертывания, вам необходимо настроить конфигурации репозитория maven на одном или обоих серверах SCDF / Skipper.