Запись данных ключа / значения через Jenkins API - PullRequest
0 голосов
/ 28 апреля 2018

Я уже использую Jenkins API для некоторых задач в моем конвейере сборки. Теперь есть задача, которую я хочу сохранить для некоторых простых динамических данных, например, «50.24». Затем сможете получить эти данные обратно в другую работу.

Конкретнее, я ищу что-то в этих строках

POST до http://localhost:8080/job/myjob//api/json/store { "Код-покрытие": "50,24"}

Тогда на другой работе

GET http://localhost:8080/job/myjob//api/json?code-coverage

Одна идея состоит в том, чтобы сделать archiveArtifacts и сохранить его в файл, а затем прочитать его обратно, используя API / файл. Но мне интересно, есть ли плагин или простой способ написать некоторые данные для этой работы.

1 Ответ

0 голосов
/ 28 апреля 2018
  • Если вам нужно отправить переменную из одной сборки в другую:

Параметризованная сборка - это самый простой способ сделать это: https://wiki.jenkins.io/display/JENKINS/Parameterized+Build

URL будет выглядеть так:

http://server/job/myjob/buildWithParameters?PARAMETER=Value

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

  • Если вам нужно повторно использовать простую переменную, вычисленную во время вашей сборки

Я бы хотел использовать переменную окружения, обновленную во время вашего потока:

Jenkinsfile (Declarative Pipeline)

pipeline {
    agent any

    environment {
        DISABLE_AUTH = 'true'
        DB_ENGINE    = 'sqlite'
    }

    stages {
        stage('Build') {
            steps {
                sh 'printenv'
            }
        }
    }
}

Все подробности есть: https://jenkins.io/doc/pipeline/tour/environment/

  • Если вам нужно повторно использовать сложные данные между двумя сборками

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

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

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