Плагин Fabric8io с Gitlab CI - PullRequest
       0

Плагин Fabric8io с Gitlab CI

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

Я только учусь и плохо знаком с Gitlab, но у меня уже есть некоторые задачи, важные для моей работы.Одним из них является создание проекта Java (этап сборки maven) и копирование артефактов в образ докера с помощью плагина Fabric8io.Я использую Gitlb CI для своей задачи, и то, что я уже могу сделать, - это успешно пройти конвейер этапов maven (сборка, тестирование, развертывание в данный момент) и создать образ докера и отправить его в репозиторий с помощью плагина Fabric8io maven.Но сейчас эти процессы отделены друг от друга.Я потратил несколько дней на поиски решения для добавления артефактов maven в образ докера, но безуспешно.Настройки в pom.xml указывают на файлы репозитория gitlab, но не на артефакты в контейнере maven (приведенный ниже пример взят из моего файла .pom, раздел fabric8io, я просто безуспешно экспериментировал с различными значениями и переменными).

    <file>                                  
        <source>${project.build.directory}/313test.war</source>   
        <source>target/313test.war</source>
        <outputDirectory>./</outputDirectory>
        <destName>testapp.war</destName>
    </file>

Кто-нибудь имел опыт работы с этим стеком?Есть ли рабочее решение?Заранее спасибо.

1 Ответ

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

Ну, я полагаю, понял.Использование выполнения команд в .gitlab-ci.yml работает так, как мне нужно:

    deploy:
        stage: deploy
        script:
            - mvn clean package docker:build docker:start docker:push

Кроме того, я прокомментировал некоторые теги в pom.xml, поэтому мой раздел сборки теперь выглядит так:

    <build>
       <!-- <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir>
       <dockerFile>Dockerfile</dockerFile> -->
             <assembly>
                   <descriptorRef>artifact</descriptorRef>
                   <mode>dir</mode>
                   <targetDir>/opt/demo/</targetDir>
                   <!--  <files>
                        <file>
                              <source>${project.build.directory}/313test.war</source>   
                              <source>target/313test.war</source>
                              <outputDirectory>./</outputDirectory>
                              <destName>testapp.jar</destName>
                        </file>
                   </files>     -->
             </assembly>
    </build>

Итак, при запуске ls в секции run файла pom.xml файл WAR отображается в каталоге / opt / demo внутри встроенного образа докера

    <run>
        <cmd>ls -l /opt/demo/</cmd>
            <wait>
                <time>10000</time>
            </wait>
    </run>

Спасибо всем)

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