是否可以/有效地以下列形式为一个无业游民的预备供应商运行多个剧本:
config.vm.define "repo", primary: true do |d|
d.vm.hostname = "some.hostname"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
d.vm.network :private_network, ip: "10.10.2.90"
d.vm.provision 'ansible' do |ansible|
ansible.config_file = 'ansible/ansible.cfg'
ansible.playbook = 'ansible/playbook1.yml'
ansible.playbook = 'ansible/playbook2.yml'
ansible.sudo = true
ansible.inventory_path = 'ansible/inventory/site'
ansible.host_key_checking = false
end
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试ci通过docker执行器在本地运行管道以进行调试:
gitlab-runner exec docker <job_name>
Run Code Online (Sandbox Code Playgroud)
在某个时间点,它需要克隆一个私有git存储库。
我正在使用gitlab 建议的典型配方。
variables:
MY_PRIVATE_KEY: <my_private_key>
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$MY_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
Run Code Online (Sandbox Code Playgroud)
但是,当尝试将密钥添加到代理时:
$ ssh-add <(echo "$MY_PRIVATE_KEY")
Enter passphrase for /dev/fd/63: Running after script...
ERROR: Job failed: exit code 1
FATAL: exit code 1 …Run Code Online (Sandbox Code Playgroud) 我想提供一个ui项目的覆盖率报告。
该项目主要由.ts受版本控制的文件组成。
gulp用于检查覆盖率的命令生成.js文件,然后检查覆盖率。(以及一份覆盖率报告......仅报告这些文件)
这些.js文件不受版本控制,并且在生成时与.ts文件混合(即,只要有.ts文件,.js就会在其旁边生成一个文件)。
这会产生以下问题:
当sonarqube生成覆盖率报告时,到我上面的报告(由 指向sonar.javascript.lcov.reportPaths),.ts文件被添加(当然有0.0%覆盖率),这会破坏实际的 cov 值。
有没有办法/模式来指示声纳:
a) 对.ts文件进行代码分析
b)生成覆盖率报告时忽略所有 .ts文件?
以下任务:
- name: Fetch dump file from S3
aws_s3:
bucket: mybucket
object: somedump.sql
dest: /tmp/somedump.sql
mode: get
delegate_to: "{{ ec2_instance_ip }}"
Run Code Online (Sandbox Code Playgroud)
失败:
致命:[localhost -> 22.33.111.88]:失败!=> {"changed": false, "msg": "这个模块需要 boto3 和 botocore"}
$ ssh ubuntu@22.33.111.88
$ pip freeze
boto3==1.7.41
botocore==1.10.41
$ pip3 freeze
blinker==1.3
boto3==1.7.41
botocore==1.10.41
Run Code Online (Sandbox Code Playgroud)
目标机器是ubuntu/xenial这样我也负责安装python-minimal(鉴于机器只有开箱即用python3)
因此,在目标机器上:
$(which python) --version
Python 2.7.12
Run Code Online (Sandbox Code Playgroud)
我已经在附加和不附加的情况下运行了上述游戏:
vars:
ansible_python_interpreter: /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
在任务结束时...
我知道可以通过使用条件来有条件地(还有什么?)创建资源。
我试图找到一种方法,尽管可以有条件地创建资源的属性。
在我的情况下,我正在EC2使用默认public ip assignment =的子网中创建多个实例false。
有时,尽管出于调试目的,我还是希望实例获得公共IP。
现在,我必须在SG / Subnet和NetworkInterfaces下面的属性中进行评论(这些属性不能一起使用)
myEC2:
Type: AWS::EC2::Instance
Metadata:
Comment: My EC2 Instance
AWS::CloudFormation::Init:
config:
commands:
01_provision:
command:
!Sub |
sed -i "s/somestring/${somevar}/" /some/path/
CreationPolicy:
ResourceSignal:
Timeout: PT4M
Properties:
ImageId: !FindInMap [ MyAamiMap, 'myami', amiid ]
InstanceType: "t2.2xlarge"
# SubnetId: !Ref SBNDemo1
# SecurityGroupIds: [!Ref SGInternalDemo]
NetworkInterfaces:
- AssociatePublicIpAddress: "true"
DeviceIndex: "0"
GroupSet:
- Ref: "SGInternalDemo"
SubnetId:
Ref: "SBNDemo1"
UserData:
"Fn::Base64":
!Sub |
#!/bin/bash -xe
# Start …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照本教程的建议为 GKE 实例组设置新模板,但出现以下错误:
我复制了一个现有的模板,只是在上面修改了一个标签,保存了它,然后运行:
$ gcloud compute instance-groups managed set-instance-template gke-some-nodepool1-1436e076-grp --template gke-some-nodepool1-7bdaa55f-1 --zone=us-east4-b
ERROR: (gcloud.compute.instance-groups.managed.set-instance-template) Could not fetch resource:
- Invalid resource usage: 'Secondary ranges specified in InstanceTemplate must be the same as already set on Instance Group Manager. Expected: sre-inception-cluster-range Actual: '.
Run Code Online (Sandbox Code Playgroud)
事实证明,新的(克隆)模板确实不具备别名IP范围字段集(一样的原始模板)。
似乎是模板复制机制上的错误?
我有一个python项目要检查PEP8一致性。
我的setyp.cfg是以下内容:
[pycodestyle]
count = True
ignore = E266, W504
max-line-length = 80
statistics = True
exclude = .venv,./build%
Run Code Online (Sandbox Code Playgroud)
经过一些清理,我的pycodestyle支票现在没有错误或警告(当然忽略了那些)
~/Workspace/my-app master ? 2h36m
? pycodestyle .
(.venv)
~/Workspace/my-app master ?
Run Code Online (Sandbox Code Playgroud)
但是,pylint针对我的项目运行会产生大量错误:
(其中一些仅用于演示目的)
************* Module somemodule.commands
src/somemodule/commands.py:98:0: C0330: Wrong continued indentation (add 16 spaces).
format(gcp_project)))
^ | (bad-continuation)
src/somemodule/commands.py:1:0: C0111: Missing module docstring (missing-docstring)
src/somemodule/commands.py:21:-1: W0105: String statement has no effect (pointless-string-statement)
src/somemodule/commands.py:29:4: C0103: Variable name "p" doesn't …Run Code Online (Sandbox Code Playgroud) 我正在观看一篇关于如何创建使用 MongoDB 进行持久化的 Go Restful API 的教程(更准确地说是这个)。
讲师在他的模型(结构)中同时 json使用和bson标签,例如
type NoteUpdate struct {
ID string `json:"id,omitempty" bson:"_id,omitempty"`
Title string `json:"title" bson:"title,omitempty"`
Content string `json:"content" bson:"content,omitempty"`
ChangedAt int64 `json:"changed_at" bson:"changed_at"`
}
Run Code Online (Sandbox Code Playgroud)
然而官方的 go driver示例并没有这样做。
事实上,根本没有使用结构标签。
使用标签的目的/用处是什么bson?
我想到的一件事是,如果有人想要创建自定义 mongo_id字段,在这种情况下,bson应该声明与该结构字段的显式映射。
标签还有其他附加值吗bson?
我很清楚,如果需要最少 4 个字符,则应使用此量词来指示正则表达式的最小长度{4,}
我正在尝试编译一个正则表达式,go以允许
总共最少4个字符,包括连字符
仅字母、数字和连字符
最后一个字符不应是连字符
所以建议我使用这个:
^[a-zA-Z0-9-]*[a-zA-Z0-9]$
Run Code Online (Sandbox Code Playgroud)
这似乎可以完成工作。
现在,考虑到我想强制至少 4 个字符,我对其进行了如下修改:
^[a-zA-Z0-9-]*[a-zA-Z0-9]{4,}$
Run Code Online (Sandbox Code Playgroud)
然而,考虑到下面的模式,这似乎并不能完成工作
eee0-lll
Run Code Online (Sandbox Code Playgroud)
不匹配 (根据我的要求它应该)。
我面临的限制之一是go不允许进行环视断言。
Helm 提供了在浏览图表文件时列出图表依赖项的选项。
\n因此,如果我位于 的文件夹上方my-chart,我可以执行
\xe2\x96\xb6 helm dependency list my-chart\nNAME VERSION REPOSITORY STATUS\ncommon 0.12.6 file://../common/ ok\nRun Code Online (Sandbox Code Playgroud)\n如何获取已安装图表的依赖关系,即通过从实际部署的版本中检索此信息?(即在我的集群上运行的)
\nansible ×2
go ×2
python ×2
amazon-s3 ×1
ansible-2.x ×1
bson ×1
git ×1
gitlab-ci ×1
kubernetes ×1
mongo-go ×1
mongodb ×1
pep8 ×1
provisioning ×1
pycodestyle ×1
pylint ×1
python-3.x ×1
regex ×1
sonarqube ×1
vagrant ×1
vagrantfile ×1