golang解析yaml(内含多行字符串)

apiVersion: opswagon.xbc.io/v1
kind: JenkinsPlugin
metadata:
  name: docker-build-production
spec:
  name: docker-build-production
  title: docker镜像构建上传
  sub_title: docker镜像构建上传
  icon: icon-jingxiang1
  params:
    - name: username
      place_holder: $dbp-username$
    - name: password
      place_holder: $dbp-password$
    - name: isOnline
      place_holder: $dbp-isOnline$
    - name: docker_repository
      place_holder: $dbp-docker_repository$
    - name: docker_tag
      place_holder: $dbp-docker_tag$
    - name: docker_file_path
      place_holder: $dbp-docker_file_path$
    - name: context_path
      place_holder: $dbp-context_path$
    - name: source
      place_holder: $$source[.(\w)+]$$
    - name: branch
        place_holder: $dbp-branch$
  output:
    - name: displayName
      place_holder: $db-out-displayName$
    - name: type
      place_holder: $db-out-type$
    - name: identifier
      place_holder: $db-out-identifier$
    - name: description
      place_holder: $db-out-description$
    - name: jobIdentifier
      place_holder: $db-out-jobIdentifier$
    - name: name
      place_holder: $db-out-name$
  code: |
    stage('$plugin-name$') {
        steps {
            container('docker') {
                script {
                    def context_path = '$dbp-context_path$'
                    if (context_path == '') {
                        context_path = '.'
                    }
                    def file_path = '$dbp-docker_file_path$'
                    if ($dbp-isOnline$) {
                        def now = new Date()
                        file_path = './Dockerfile-'+now.time
                        def the_cmd = "echo '$dbp-docker_file_path$' > #file_path#"
                        the_cmd = the_cmd.replaceAll('file_path', file_path)
                        sh the_cmd
                    }
                    def base_cmd = '''
                    docker build -t $dbp-docker_repository$:$dbp-docker_tag$ #file_path# #context_path# && \
                    docker push $dbp-docker_repository$:$dbp-docker_tag$ && \
                    docker rmi $dbp-docker_repository$:$dbp-docker_tag$
                    '''
                    if ('$dbp-username$' != '') {
                        def addr = '$dbp-docker_repository$'.split('/')[0]
                        def login_cmd = 'docker login #addr# -u $dbp-username$ -p $dbp-password$ && \'
                        login_cmd = login_cmd.replaceAll('#addr#', addr)
                        base_cmd = base_cmd + login_cmd
                    }
                    base_cmd = base_cmd.replaceAll('#file_path#', file_path)
                    base_cmd = base_cmd.replaceAll('#context_path#', context_path)
                    sh base_cmd
                }
            }
        }
    }
  container: docker

这个会报error converting YAML to JSON: yaml: line 28: mapping values are not allowed in this context,但是K8s是能够解析这个yaml文件的,但是golang读的时候读不出来……

阿西吧,是我蠢,有个缩进有问题,打扰了……