Интегрируйте Xebialas Deployit Plugin в отличную работу jenkins DSL - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь создать "freestyle-job" из отличного файла. Я уже настроил одну работу с компиляцией, юнит-тестами и сканером sonarqube. Я хочу добавить генерацию и развертывание пакетов с помощью плагина Xebialabs Deployit, но не могу найти правильный синтаксис для этого шага.

Я пытался добавить это к моей работе. Однако я не знаю, в каком разделе (шаги, издатели, другие ...) я должен добавить его.

xld {
      deploy('app', '1.0') {
        deployable('listDirectory', 'cmd.Command') {
          commandLine = 'ls'
        }
      }
    }

Также я уже создал декларативный конвейер для сборки своего приложения. В этом случае инструмент «Синтаксис конвейера» предоставляет вам пример использования этого плагина. Это единственный подход, который сработал.

Это мой отличный файл с фристайлом.

branch = "development"
git_url = "https://github.com/my-repo/my-app"
git_token = "GIT_TOKEN"

freeStyleJob('my-app') {
    logRotator(numToKeep = 100)
    description('Automatic compilation job')
    parameters {
        stringParam("GIT_BRANCH", "master", "Branch to build")
    }
    environmentVariables {
        env('CI_VERSION', '${BUILD_DATE_FORMATTED, "yyyyMMdd"}.${BUILDS_TODAY}')
    }
    properties {
        githubProjectUrl(git_url)
    }
    scm {
        git {
            remote {
                url(git_url)
                credentials(git_token)
            }
            branch($GIT_BRANCH)
        }
    }
    triggers{
        githubPush()
    }
    steps {
        shell('mvn clean verify sonar:sonar')
    }
    publishers {
        archiveJunit('**/target/surefire-reports/*.xml')
    }
}

Кто-нибудь знает, каков правильный синтаксис для добавления плагина DeployIt в это задание и на каком этапе я должен его добавить?

1 Ответ

0 голосов
/ 12 июня 2019

Job DSL также обеспечивает просмотр API для справки по синтаксису.Подробнее см. Dynamic DSL .

В случае плагина DeployIt синтаксис:

job(String name) {
  publishers {
    deployitNotifier {
      credential(String value)
      application(String value)
      version(String value)
      packageOptions {
        // ...
      }
      importOptions {
        // ...
      }
      deploymentOptions {
        // ...
      }
      verbose(boolean value)
      packageProperties {
        // ...
      }
      overridingCredential {
        // ...
      }
    }
  }
} 
...