настройте spring cloud dataflow server на использование токена развертывания для доступа к репозиторию GitLab (регистрация пакетов)

#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.