Как обслуживать Java-приложение в качестве контейнера Docker и файла .war? - PullRequest
0 голосов
/ 20 декабря 2018

В настоящее время наша компания создает индивидуальное программное обеспечение для клиентов B2B.

Некоторые приложения могут использоваться для нескольких клиентов.

Обычно мы можем разместить приложение в облаке и развернуть все с помощью Docker.Для этого хорошо запустить конвейер GitLab, развернуть его и т. Д.

Теперь у нас есть клиенты, которые полагаются на внешнюю установку.
Поскольку некоторые из них по-прежнему используют Windows Server (2008 tho), я не могу установить там подходящую среду Docker, и нам нужно установитьApache Tomcat и запустить приложение внутри кота.

Вопрос: Как с этим бороться?Мне понадобится конвейер для создания образа докера и файла войны.Просто создать два совершенно независимых конвейера?Обрабатывать все в одном конвейере?

Наш текущий файл gitlab-ci.yml для .war

image: maven:latest

variables:
  MAVEN_CLI_OPTS: "-s settings.xml -q -B"
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    - .m2/repository/
    - target/

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - mvn $MAVEN_CLI_OPTS compile

test:
  stage: test
  script:
    - mvn $MAVEN_CLI_OPTS test

install:
  stage: deploy
  script:
    - mvn $MAVEN_CLI_OPTS install
  artifacts:
    name: "datahub-$CI_COMMIT_REF_SLUG"
    paths:
      - target/*.war

1 Ответ

0 голосов
/ 21 декабря 2018

Использование для разделения конвейера доставки является предпочтительным: вы имеете дело с двумя очень инсталляционными процессами, и вам нужно быть уверенным, какой из них работает для данного клиента.

Наличие двух отдельных конвейеров GitLab позволяет для указанного клиентавыбрать правильный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...