是否有YAML的架构验证语言?我用谷歌搜索,但找不到任何有用的东西.
XSD格式之类的东西,使用语言本身来描述模式,在我的情况下是最好的选择.
在这个官方文档中,它可以在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文件
---
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) 我在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,但没有找到有效语法的示例.
我正在使用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) 我正在尝试编写一个gitlab-ci.yml使用多行字符串作为命令的文件.但是,它似乎没有被解析.我都试过了- |,并- >用相同的结果.
stages:
- mystage
Build:
stage: mystage
script:
- |
echo -e "
echo 'hi';
echo 'bye';
"
Run Code Online (Sandbox Code Playgroud)
当它尝试运行时,它只显示echo -e '要运行的脚本,而不是整个多行字符串.这给我带来了问题.
写这样的东西的正确语法是什么?
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?
我没有看到是什么让YAML成为一种标记语言而不是XML.标记语言的目的是定义文档的结构,而YAML就是这样做的.(YAML代表Yaml不是标记语言.)
YAML应该代替的是另一种标记语言.
我有一个非常长的 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文件转换为PHP数组源代码.我可以在yaml代码中读取并返回一个PHP数组,但是使用var_dump($ array)我得到伪代码作为输出.我想将数组打印为有效的PHP代码,因此我可以将其复制粘贴到我的项目中并抛弃yaml.
yaml ×10
gitlab-ci ×2
activerecord ×1
github ×1
gitlab-8 ×1
java ×1
json ×1
kubernetes ×1
logging ×1
markup ×1
php ×1
python ×1
pyyaml ×1
schema ×1
spring-boot ×1
validation ×1
xsd ×1