Размещение исполняемых файлов .jar в репозитории BitBucket или автоматизация упаковки исполняемых файлов .jar из git в локальную папку - PullRequest
1 голос
/ 16 марта 2020

Я пытаюсь создать приложение запуска в Java, которое может вызывать исполняемые файлы .jar. Самый простой способ для этого - разместить исполняемые файлы .jar в облачном экземпляре, и приложение запуска просто загрузит оттуда файлы .jar в локальную папку пользователя. Дилеммой является отсутствие облачной службы или сервера, на котором можно разместить файлы JAR.

В качестве обходного пути я подумал, что могу просто разместить файлы JAR в BitBucket, и именно здесь приложение запуска загрузит исполняемые файлы из. Хотя я думаю, что это немного нетрадиционно, поскольку в основном используется для создания версий исходных кодов (пожалуйста, исправьте меня, если я ошибаюсь). Кроме того, я не уверен, можно ли будет запускать FTP или загружать файлы оттуда (возможно, через BitBucket API, может быть?).

Другой вариант - это то, что можно было бы заставить приложение запуска создавать исполняемые jar-файлы из репозитория git, загрузите исполняемые jar-файлы пакета в папку пользователя и выполните их оттуда. Если это возможно, я был бы признателен за любые предложения по этому варианту.

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 марта 2020

В общем случае хранить продукты сборки в репозитории Git не очень хорошая идея. Как правило, продукты сборки имеют большой размер, имеют тенденцию к плохому сжатию (особенно файлы JAR, которые уже сжаты) и не требуют контроля версий. Это именно то поведение, которое вам не нужно в вашем Git хранилище.

Хотя вы действительно можете это сделать, вы, скорее всего, обнаружите, что Bitbucket не захочет разместить ваше Git хранилище для этой цели, и тогда вам нужно будет найти альтернативное решение. Вам лучше разместить эти ресурсы в облачном хранилище или даже на сервере c и загружать их по протоколу HTTPS. Если это недостижимо, вам нужно подумать, почему это так, и посмотреть, как это решить.

Если эти файлы JAR являются продуктами сборки для выпуска программного обеспечения, которое вы уже размещаете на Bitbucket, то, вероятно, это для этой цели хорошо использовать функциональность стандартного выпуска ресурсов Bitbucket. Вы просто не хотите использовать репозиторий Git, который значительно дороже в обслуживании, чем ресурсы c.

Вы также не хотите использовать FTP, потому что (а) он медленнее, чем HTTPS и (b) из-за людей, не соблюдающих спецификацию c, невозможно использовать TLS с ней последовательно. Ваше программное обеспечение будет содержать уязвимую ошибку безопасности, если вы загружаете данные по незашифрованному соединению без проверки целостности, а затем выполняете эти данные.

1 голос
/ 16 марта 2020

да, вы можете выложить sh ваши двоичные файлы в github (получение необработанного контента сложно из битбукета, ваш запрос должен иметь аутентификацию и прочее).

здесь как это сделать

копирование здесь и в случае, если get удален.

Как создать репозиторий maven для вашего проекта github, шаг за шагом клонируйте ваш проект в отдельной папке (примечание: замените ORGANIZATION и ПРОЕКТ)

git клон git клон git@github.com: ОРГАНИЗАЦИЯ / ПРОЕКТ. git мой-репозиторий

cd в него cd мой-репозиторий

Создать новая ветка (здесь она называется репозиторий) git репозиторий веток

Переключиться на эту ветку git репозиторий извлечения

Удалить все файлы rm -rf file1 file2 file3 .. et c

Установите JAR-файл в этом каталоге (обратите внимание: замените YOUR_GROUP, YOUR_ARTIFACT, YOUR_VERSION и YOUR_JAR_FILE)

mvn install: install-file -DgroupId = YOUR_GROUP -DartifactId = YOUR_ARTIFACT_VERSION_VERSION YOUR_ARTIFACTDVERSION YOUR_ARTIFACTDVERSION YOUR ВЫ R_JAR_FILE -Dpackaging = jar -DgeneratePom = true -DlocalRepositoryPath =. -DcreateChecksum = true YOUR_JAR_FILE должен указывать на существующий файл JAR, поэтому лучше создать ветку репозитория в другой папке, чтобы вы могли ссылаться на существующий JAR в / your / project / path / target / artifact-xyzjar

Добавьте все сгенерированные файлы, подтвердите и нажмите git add -A. && git commit -m "выпущенная версия XYZ"

git pu sh origin репозиторий

Ссылка на ваш jar-файл из другого проекта URL-адрес репозитория, который вы только что создали>> https://raw.github.com/YOUR_ORGANIZATION/YOUR_ARTIFACT/repository/

2-й вариант также является хорошим подходом, так как ваш пользователь всегда будет получать обновленный контент, но это увеличит время создания, в зависимости от вашего варианта использования.

...