以下是我的简单 github 工作流程。它的目的是打印环境变量。
name: verify
on:
workflow_dispatch:
jobs:
read_env_variables:
environment: build
runs-on: [ self-hosted, onprem_dae, docker ]
steps:
- name: cat on branch file
run: |
echo ${{ env.SOME_VARIABLE }}
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为“build”的环境。在此环境中,我有一个名为SOME_VARIABLE
设置为xyz 的环境变量。
当工作流程被触发时,我期望回显值xyz但实际值是“”。是不是少了点什么?
我在两个目录中有多个配置文件。例如,
我需要使用ConfigMap
.
尝试使用
kubectl create configmap --from-file=./conf.d --from-file=./conf.d/node1/child1.conf --from-file=./conf.d/node2/child2.conf.
Run Code Online (Sandbox Code Playgroud)
按预期创建的配置映射无法表达嵌套的目录结构。
是否可以从文件夹递归创建 ConfigMap 并仍然以 ConfigMap 的关键条目的名称保留文件夹结构 - 因为目的是将这些 ConfigMap 安装到 pod 中?
为什么值“ $”的名称时字符串插值不起作用?
在以下代码中,为什么不打印$的值?使用字符串插值打印x的值时有什么错误?
repl> val x="test value"
repl> val $="some value"
repl> println($)
some value
repl> println(s"value:$x")
value:test value
repl> println(s"value:$$")
value:$
Run Code Online (Sandbox Code Playgroud)
为什么不用$的值代替$?
以下是使用的 docker-compose。
version: '3.5'
services:
filebeat:
image: docker.elastic.co/beats/filebeat:6.4.2
volumes:
- ${PWD}/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- ${PWD}/test/input:/tmp/input:rw
Run Code Online (Sandbox Code Playgroud)
filebeat.yml 中的 Filebeat 配置是
filebeat.inputs:
- type: container
paths:
- '/var/lib/docker/containers/*/*.log'
processors:
- add_docker_metadata:
host: "unix:///var/run/docker.sock"
- decode_json_fields:
fields: ["message"]
target: "json"
overwrite_keys: true
output.elasticsearch:
hosts: ["elasticsearch:9200"]
indices:
- index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
logging.json: true
logging.metrics.enabled: false
Run Code Online (Sandbox Code Playgroud)
之后docker-compose up
,容器启动失败,并报告下面提到的错误。
退出:加载配置文件时出错:配置文件(“filebeat.yml”)必须由用户标识符(uid = 0)或root拥有
这里有什么问题?我在运行 ubuntu 的笔记本电脑上运行此示例。
configmap ×1
docker ×1
environment ×1
filebeat ×1
kubernetes ×1
scala ×1
scala-repl ×1
ubuntu ×1