Запустить конвейер на Openshift Online - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь запустить простой конвейер в Openshift Online.Вот мои шаги:

  1. oc new-project ess

  2. Содержимое bc.yaml:

    kind: "BuildConfig"
    apiVersion: "v1"
    metadata:
       name: "yngwuoso-pipeline"
    spec:
       source:
       git:
          uri: "https://github.com/yngwuoso/spring-boot-rest-example.git"
    strategy:
       type: JenkinsPipeline
    
  3. oc create -f bc.yaml

Результат:

Error from server (Forbidden): error when creating "bc.yaml": buildconfigs.build.openshift.io "yngwuoso-pipeline" is forbidden: unrecognized build strategy: build.BuildStrategy{DockerStrategy:(*build.DockerBuildStrategy)(nil), SourceStrategy:(*build.SourceBuildStrategy)(nil), CustomStrategy:(*build.CustomBuildStrategy)(nil), JenkinsPipelineStrategy:(*build.JenkinsPipelineBuildStrategy)(nil)}

Может кто-нибудь сказать мне, чего не хватает?

1 Ответ

0 голосов
/ 02 марта 2019

Если вы хотите запустить pipeline сборку на основе git исходного кода, сначала создайте buildConfig из source Strategy для git repo, затем создайте buildConfig из pipeline для управлениявсе build процесс.

Например, это пример руководства для вашего понимания, он может не работать в вашей среде, но вы можете настроить нижеприведенную конфигурацию для вашей среды.

  • buildConfig для стратегии источника (github) выглядит следующим образом:

    apiVersion: v1
    kind: BuildConfig
    metadata:
      labels:
        app: yngwuoso-pipeline
      name: yngwuoso-git-build
    spec:
      failedBuildsHistoryLimit: 5
      output:
        to:
          kind: ImageStreamTag
          name: yngwuoso-pipeline-image:latest
      runPolicy: Serial
      source:
        git:
          uri: https://github.com/yngwuoso/spring-boot-rest-example.git
        type: Git
    strategy:
      sourceStrategy:
        from:
          kind: ImageStreamTag
          name: redhat-openjdk18-openshift:1.3
          namespace: openshift
      type: Source
    triggers:
      - type: ConfigChange
      - type: ImageChange
  • buildConfig из pipeline для триггера выше buildConfig на основе git-репо.

    apiVersion: v1
    kind: BuildConfig
    metadata:
      labels:
        name: yngwuoso-pipeline
      name: yngwuoso-pipeline
    spec:
      runPolicy: Serial
      strategy:
        jenkinsPipelineStrategy:
          jenkinsfile: |-
            node(''){
              stage 'Build by S2I'
                openshiftBuild(namespace: 'PROJECT NAME', bldCfg: 'yngwuoso-git-build', showBuildLogs: 'true')     
            }
        type: JenkinsPipeline
      triggers:
      - github:
          secret: gitsecret
        type: GitHub
      - generic:
          secret: genericsecret
        type: Generic

Вы должны настроить GitHub Webhook с использованием аутентификации secret в pipeline buildConfg, для получения дополнительной информации обратитесь к GitHub Webhooks .

...