小编Max*_*lan的帖子

Maven与jenkins slave和Credentials一起发布:如何将SCM凭证传递给maven?

我正在使用Jenkins主/从设置.我希望詹金斯有一个凭据信息的"来源".密钥/密码并非遍布整个地方.

因此,我不想在Jenkins中定义我的SCM(使用来自Jenkins凭据提供程序的凭据),然后再根据作业在pom.xml/settings.xml/id_rsa.pem中定义.每个人都喜欢按照自己的方式做事,最后我们会得到密钥文件或密码的副本.迟早有人将pom推到公共仓库,我们的服务器受到了损害......

我看不到一种可维护的方法,可以将Jenkins的凭据从某个地方获取,maven release插件可以使用它们.我错过了什么?(当试图将标签推送到git时,maven发布失败

[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

)

我显然可以定义一个安装在包含pem的slave上的"文件"(我可以想到几种方法)但是当我们旋转键以记住它在多个位置时,我会遇到维护问题.否则,快照工作一个月,然后发布失败,没有人能够解释为什么mvn突然无法推送到git.

(注意它只是密钥登录,没有密码)

git release credentials maven jenkins

7
推荐指数
1
解决办法
2340
查看次数

如何让ansible等待端口准备好?

我打算等待端口准备好,所以使用“wait_for”

- name: Wait for service to be ready
  wait_for:
    host: 192.168.1.70
    port: 8080
Run Code Online (Sandbox Code Playgroud)

然而,它只等待 300 秒,然后失败。

TASK [Wait for service to be ready] 
fatal: [localhost]: FAILED! => {"changed": false, "elapsed": 300, "msg": "Timeout when waiting for 192.168.1.70:8080"}
Run Code Online (Sandbox Code Playgroud)

所以,我添加了一个“直到”:

- name: Wait for service to be ready
  wait_for:
    host: 192.168.1.70
    port: 8080
  register: port8080
  until: port8080.failed == "false"
Run Code Online (Sandbox Code Playgroud)

相反,我收到一个错误:

TASK [Wait for ssh to be ready] 
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'port8080.failed == \"false\"' failed. The error …
Run Code Online (Sandbox Code Playgroud)

ansible

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

AWS SecretsManager 按标签过滤?

我从 boto3 开始,但意识到这也适用于 CLI。

我读到了一些问题,建议我可以像这样设置过滤器来获取带有 Production 或 Staging 名称的秘密:

res = sm.list_secrets(Filters=[
    { 'Key': 'tag-key', 'Values': ['Name'] },
    { 'Key': 'tag-value', 'Values': ['Production', 'Staging'] },
])
Run Code Online (Sandbox Code Playgroud)

但这似乎是在寻找任何带有 Name 键的东西和任何带有 Prod/Staging 值的东西(在不同的标签中),而不是 Name=Prod/Staging。

如果我在秘密上创建 2 个标记:值:项目:栏和名称:foo。然后尝试过滤项目:foo - 我得到了这个秘密。

sec.list_secrets(Filters= [{ 'Key':'tag-key','Values':['project']},{ 'Key':'tag-value','Values':['foo']}])["SecretList"][0]["Tags"]
[{'Key': 'project', 'Value': 'bar'}, {'Key': 'Name', 'Value': 'foo'}]
Run Code Online (Sandbox Code Playgroud)

或者,如果我添加“something:max”并过滤 Name 和 max :

sec.list_secrets(Filters= [{ 'Key':'tag-key','Values':['Name']},{ 'Key':'tag-value','Values':['max']}])["SecretList"][0]["Tags"]
[{'Key': 'project', 'Value': 'bar'}, {'Key': 'something', 'Value': 'max'}, {'Key': 'Name', 'Value': 'foo'}]
Run Code Online (Sandbox Code Playgroud)

如果我创建第二个秘密以使其更加明显,CLI 上也会发生同样的情况。两者都有一个项目键和一个值 max :

aws secretsmanager list-secrets --filters Key=tag-key,Values=project Key=tag-value,Values=max …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-secrets-manager

6
推荐指数
0
解决办法
1067
查看次数

如何在 AWS Secrets Manager 中列出已删除的密钥?

查看 的手册页list-secrets,没有显示删除或不删除的特殊选项。它不列出已删除的机密。但是,输出定义包含“DeletedDate”时间戳。

ListSecrets API不显示已删除机密的任何选项。但响应再次包含删除日期。

boto3 的文档list_secrets()是相同的。

但是,在AWS控制台中我可以看到已删除的秘密。快速浏览一下开发工具,我可以看到我对 Secrets Manager 端点的请求负载如下所示:

{
  "method": "POST",
  "path": "/",
  "headers": {
    "Content-Type": "application/x-amz-json-1.1",
    "X-Amz-Target": "secretsmanager.ListSecrets",
    "X-Amz-Date": "Fri, 27 Nov 2020 13:19:06 GMT"
  },
  "operation": "ListSecrets",
  "content": {
    "MaxResults": 100,
    "IncludeDeleted": true,
    "SortOrder": "asc"
  },
  "region": "eu-west-2"
}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以传递"IncludeDeleted": true到 CLI 吗?

这是一个错误吗?我该去哪里举报?(我知道 github 上有一个 cloudformation bug 跟踪器,我想 Secretsmanager 会有类似的东西..?)

amazon-web-services aws-cli boto3 aws-secrets-manager

5
推荐指数
1
解决办法
2707
查看次数