标签: yaml

YAML架构验证?

是否有YAML的架构验证语言?我用谷歌搜索,但找不到任何有用的东西.

XSD格式之类的东西,使用语言本身来描述模式,在我的情况下是最好的选择.

validation schema xsd yaml

58
推荐指数
2
解决办法
3万
查看次数

如何使用Kubernetes在一个yaml文件中设置多个命令?

在这个官方文档中,它可以在yaml配置文件中运行命令:

http://kubernetes.io/v1.1/docs/user-guide/configuring-containers.html

apiVersion: v1
kind: Pod
metadata:
  name: hello-world
spec:  # specification of the pod’s contents
  restartPolicy: Never
  containers:
  - name: hello
    image: "ubuntu:14.04"
    env:
    - name: MESSAGE
      value: "hello world"
    command: ["/bin/sh","-c"]
    args: ["/bin/echo \"${MESSAGE}\""]
Run Code Online (Sandbox Code Playgroud)

如果我想运行多个命令,该怎么办?

yaml kubernetes

58
推荐指数
9
解决办法
6万
查看次数

使用Python读取YAML文件导致yaml.composer.ComposerError:期望流中的单个文档

我有一个看起来像的yaml文件

---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341570
---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341569
---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341568
Run Code Online (Sandbox Code Playgroud)

我可以使用YAML在Perl中正确读取此内容,但在使用YAML的python中无法正确读取.它失败并出现错误:

期望流中的单个文档

程序:

import yaml

stram = open("test", "r")
print yaml.load(stram)
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "abcd", line 4, in <module>
    print yaml.load(stram)
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/__init__.py", line 58, in load
    return loader.get_single_data()
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/constructor.py", line 42, in get_single_data
    node = self.get_single_node()
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/composer.py", line 43, in get_single_node
    event.start_mark) …
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml

57
推荐指数
1
解决办法
8万
查看次数

在application.yml中设置root日志记录级别

我在Spring Boot(1.3 M1)中使用了application.properties并开始将其转换为yaml文件,因为它变得越来越复杂.

但我有问题将其翻译成yaml:

logging.level.*=WARN
logging.level.com.filenet.wcm=ERROR
logging.level.de.mycompany=DEBUG
Run Code Online (Sandbox Code Playgroud)

最后两行很容易翻译成:

logging:
    level:
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG
Run Code Online (Sandbox Code Playgroud)

但是如何添加根日志记录级别的值?这两种方法都失败了:

方法1失败:

logging:
    level: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    
Run Code Online (Sandbox Code Playgroud)

方法2失败:

logging:
    level: 
        star: WARN
        com.filenet.wcm: ERROR
        de.mycompany: DEBUG    
Run Code Online (Sandbox Code Playgroud)

我阅读了文档,搜索了stackoverflow和googled,但没有找到有效语法的示例.

java logging yaml spring-boot

57
推荐指数
3
解决办法
5万
查看次数

如何在.gitlab-ci.yml中指定通配符工件子目录?

我正在使用GitLab CI构建一个C#解决方案,并尝试将一些构建工件从一个构建阶段传递到另一个构建阶段.

问题是,工件不是位于单个目录中,而是位于不同的子目录中,但是它们都具有相同的名称bin/obj/.

.gitlab-ci.yml看起来如下:

...
stages:
  - build
  - test

build:
  stage: build
  script:
    CALL %MSBuild% ...
  artifacts:
    paths:
      - /**/bin/
      - /**/obj/
    expire_in: 6 hrs

test:
  stage: test
  dependencies:
    - build
  ...
Run Code Online (Sandbox Code Playgroud)

我尝试使用不同的方式捕获工件,例如

**/bin/
**/obj/
Run Code Online (Sandbox Code Playgroud)

(语法无效),或

.*/bin/
.*/obj/
Run Code Online (Sandbox Code Playgroud)

但那个没有找到任何文物,就像/**/bin/并且/**/obj/,给我以下错误:

Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
Run Code Online (Sandbox Code Playgroud)

如何指定要扫描工件的子目录模式?或者这甚至可能吗?

简单地使用

artifacts:
  untracked: true
Run Code Online (Sandbox Code Playgroud)

不是一个选项,因为一个巨大的未跟踪packages/子目录,由于存档太大导致工件上传失败:

Uploading artifacts...
untracked: found 4513 files                        
ERROR: Uploading artifacts to …
Run Code Online (Sandbox Code Playgroud)

yaml gitlab-ci gitlab-8

56
推荐指数
1
解决办法
2万
查看次数

GitLab CI的多行YAML字符串(.gitlab-ci.yml)

我正在尝试编写一个gitlab-ci.yml使用多行字符串作为命令的文件.但是,它似乎没有被解析.我都试过了- |,并- >用相同的结果.

stages:
  - mystage

Build:
  stage: mystage
  script:
    - |
        echo -e "
            echo 'hi';
            echo 'bye';
        "
Run Code Online (Sandbox Code Playgroud)

当它尝试运行时,它只显示echo -e '要运行的脚本,而不是整个多行字符串.这给我带来了问题.

写这样的东西的正确语法是什么?

yaml gitlab-ci gitlab-ci-runner

56
推荐指数
5
解决办法
4万
查看次数

ActiveRecord serialize using JSON instead of YAML

I have a model that uses a serialized column:

class Form < ActiveRecord::Base
  serialize :options, Hash
end
Run Code Online (Sandbox Code Playgroud)

Is there a way to make this serialization use JSON instead of YAML?

serialization activerecord json yaml ruby-on-rails

55
推荐指数
4
解决办法
4万
查看次数

如果YAML不是标记语言,它是什么?

我没有看到是什么让YAML成为一种标记语言而不是XML.标记语言的目的是定义文档的结构,而YAML就是这样做的.(YAML代表Yaml不是标记语言.)

YAML应该代替的是另一种标记语言.

markup yaml

55
推荐指数
3
解决办法
2万
查看次数

Github Action:将长命令拆分为多行

我有一个非常长的 Github 操作命令:

name: build

on: [push]

jobs:
    build:
        runs-on: ubuntu-18.04
        steps:
            - uses: actions/checkout@v1
            - name: Install Prerequisites
              run: |
                sudo apt-get update
                sudo apt-get install -y --no-install-recommends "a very very long list of prerequisites"
Run Code Online (Sandbox Code Playgroud)

我可以知道是否可以将长命令分成多行以提高可读性?我试过分隔符 '\' 但它不起作用。提前致谢。

yaml github github-actions

55
推荐指数
5
解决办法
2万
查看次数

将数组打印为代码

我想将一个大的yaml文件转换为PHP数组源代码.我可以在yaml代码中读取并返回一个PHP数组,但是使用var_dump($ array)我得到伪代码作为输出.我想将数组打印为有效的PHP代码,因此我可以将其复制粘贴到我的项目中并抛弃yaml.

php yaml

54
推荐指数
2
解决办法
2万
查看次数