Хобрук: Ваш путь к мастерству в программировании

Дженкинс оборачивает кавычки вокруг свойств системы Java

Я использую Jenkins для выполнения сценария оболочки в качестве шага после сборки. Проблема в том, что jenkins заключает в кавычки системные свойства, которые я передаю. Поэтому приложение не может видеть, что какие-либо системные свойства были переданы.

Если бы Дженкинс заключил их в двойные кавычки, было бы хорошо, но одинарные кавычки не работают.

Необработанный сценарий оболочки:

java -jar -Dnetwork.configuration=Transport.uri=amqp://localhost:5672/stable,transportServer.database.driver=com.mysql.jdbc.Driver,brokerServer.database.jpa=MYSQL "${WORKSPACE}/ffiq-integration/target/PackRunner.jar" -pack "${WORKSPACE}/ffiq-integration/src/main/resources" -name JenkinsIntegrationTests

Дженкинс выполняет:

java -jar '-Dnetwork.configuration=Transport.uri=amqp://localhost:5672/stable,transportServer.database.driver=com.mysql.jdbc.Driver,brokerServer.database.jpa=MYSQL' "${WORKSPACE}/ffiq-integration/target/PackRunner.jar" -pack "${WORKSPACE}/ffiq-integration/src/main/resources" -name JenkinsIntegrationTests

Есть ли способ остановить Дженкинса делать это?

Спасибо.

08.03.2013

  • У меня аналогичная проблема с передачей переменной ${WORKSPACE} в команду оболочки. 25.07.2014

Ответы:


1

Одинарные кавычки не должны быть проблемой, процесс java по-прежнему будет видеть весь -Dname=val как одну опцию. Более вероятная проблема заключается в том, что вам нужно поменять местами порядок аргументов, т.е.

java -D.... -jar ".../PackRunner.jar" <arguments-to-PackRunner-main-class>

(без каких-либо других промежуточных аргументов между -jar и именем файла JAR).

08.03.2013
Новые материалы

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

Под поверхностью: раскрытие деталей системы с помощью инструментов Linux CLI
Чем больше вы изучаете Linux и продвигаетесь вперед, тем больше вам нужно проверять информацию о вашей системе. Эта информация может касаться аппаратного обеспечения, такого как процессор,..

Как реализовать линейную регрессию в JavaScript
Узнайте, как реализовать линейную регрессию в JavaScript с помощью ML.js Линейная регрессия — это метод машинного обучения, используемый для моделирования связи между зависимой переменной и..