Загрузить Build с помощью CURL - PullRequest
0 голосов
/ 01 октября 2018

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

Artifactory Build Browser

Спасибо!

1 Ответ

0 голосов
/ 01 октября 2018

Как правило, сборки публикуются в два этапа:

  1. Развертываются артефакты, принадлежащие сборке.Чтобы связать эти артефакты со сборкой, они должны иметь два свойства: build.name установить в качестве имени сборки и build.number установить в качестве номера сборки.Если эти свойства установлены неправильно, Artifactory не будет знать, что они принадлежат вашей сборке.
  2. Загружен файл информации о сборке.Это не артефакт, и он использует специальный REST API ( этот ).Сам файл информации о сборке представляет собой файл JSON, описывающий сборку, и содержит имя и номер сборки, контрольные суммы для всех файлов, принадлежащих сборке, и много другой (в основном необязательной) информации.Обычно это генерируется инструментом сборки, но приведенная выше ссылка на REST API содержит файл примера, который можно использовать в качестве ссылки для создания файла с нуля, если он вам действительно нужен.Пример загрузки файла информации о сборке:

    curl -XPUT http://localhost:8081/artifactory/api/build -H "Content-Type: application/json" -T build.json
    

В вашем конкретном случае вы используете Conan.Вы можете взглянуть на this , в котором описано, как сгенерировать и загрузить файл информации о сборке.Шаги:

  1. Задайте для переменной среды CONAN_TRACE_FILE путь к файлу.Это записывает информацию о вашей сборке в файл трассировки, который можно преобразовать в файл информации о сборке.
  2. В вашем доме в Конане создайте файл artifacts.properties.Этот файл говорит Конану добавлять определенные свойства (включая build.name и build.number, необходимые для развертывания сборки) всякий раз, когда он развертывает артефакт.Пример файла artifacts.properties:

    artifact_property_build.name=MyBuild
    artifact_property_build.number=23
    artifact_property_build.timestamp=1487676992
    
  3. Запустите все этапы сборки, включая развертывание артефактов.Каждый шаг будет записывать в файл, который вы установили в CONAN_TRACE_FILE.

  4. Запустите команду conan_build_info и передайте ей путь к CONAN_TRACE_FILE.Это создаст соответствующий файл информации о сборке.

    conan_build_info /tmp/traces.log --output /tmp/build_info.json
    
  5. Недавно созданный файл информации о сборке теперь может быть загружен в Artifactory с помощью curl, как описано выше.


Вы также можете опубликовать сборку, используя JFrog CLI (документация здесь )

...