小编Ken*_*ici的帖子

将文件上传到S3时,aws-cli是否确认校验和,或者我是否需要自行管理?

如果我使用aws-cli(即使用aws s3 cp)将数据上传到S3 ,aws-cli是否会做任何工作来确认S3中的结果文件是否与原始文件匹配,或者我是否需要自己管理?

根据这个答案putObject()的Java API文档,看起来可以在上传后验证MD5校验和.但是,我无法找到关于aws-cli是否真的这样做的明确答案.

这对我来说很重要,因为我打算从备份过程中上传GPG加密的文件,我想确信存储在S3中的内容实际上与原始文件匹配.

amazon-s3 amazon-web-services

7
推荐指数
2
解决办法
4371
查看次数

为 Jenkins 从节点设置 SSH 凭据的推荐方法

问题陈述

我正在寻找有关设置 SSH 密钥以连接到我们的 Jenkins 主站和从站上的 Git 的正确方法的建议。这里还有其他关于 Git、Jenkins 和 SSH 的类似问题(最接近的是this),但似乎没有人通过有关正确方法的具体建议来回答这个问题。

背景与测试

我正在使用内部部署的 GitLab 研究 Jenkins 的原型实现。我们在 Jenkins 方面有几年的经验,但将它与 Git 集成对我们来说是新的。这也是我们第一次配置任何从节点。在这一点上,我们只是试图让简单的轮询工作,没有花哨的推送通知。

主 Jenkins 实例在 Linux ( Red Hat Linux 6) 上运行。目前有 3 个从属服务器:一台其他 Red Hat Linux 服务器和两台运行 Windows Server 2012 R2 的服务器。Windows 服务器上的 Jenkins slave 作为 Windows 服务运行。主节点和所有从节点都运行最新的 Git v2.10.0(64 位)。

我们打算使用 SSH 访问 GitLab。我创建了一个带有密码的 SSH 密钥,并将其保存在主服务器的磁盘上。然后,我在 GitLab 中将公钥配置为我的测试项目的部署密钥。最后,我在 Jenkins 中添加了一个新凭证。

在 Jenkins 的第一个测试项目中,我配置了 GitLab 存储库 URL 并选择了上面创建的 Jenkins 凭据。然后我在master上构建了这个项目。Jenkins 与 GitLab 建立了 SSH 连接,没有问题并且构建成功。然后我强制构建到 Linux 从设备,结果相同。 …

windows git ssh jenkins

5
推荐指数
0
解决办法
1992
查看次数

使用jq将x = y对转换为键/值对

我正在尝试从JSON输出中解析环境变量docker inspect.令人讨厌的是,这些环境变量不会作为有用的键值对返回.它们只是一个x = y字符串的数组.这是输出的相关片段:

[
    {
        "Config": {
            "Env": [
                "JENKINS_HOST=1.2.3.4",
                "JENKINS_INSTANCE=tea",
                "JENKINS_NAME=Enterprise Architecture Tools",
                "JENKINS_VERSION=2.46.2",
                "JENKINS_PROTOCOL=http"
            ]
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

我想将该数组转换为这样的:

{
  "Config": {
    "Env": {
      "JENKINS_HOST": "1.2.3.4",
      "JENKINS_INSTANCE": "tea",
      "JENKINS_NAME": "Enterprise Architecture Tools",
      "JENKINS_VERSION": "2.46.2",
      "JENKINS_PROTOCOL": "http"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这样,我可以使用命令jq '.[] | .Config.Env.JENKINS_HOST'来获取我关心的值.我无法弄清楚如何实现这一目标.

选择数据相对容易,甚至将键和值拆分为单独的元素.例如,如果我使用jq '.[] | .Config.Env | .[] | split("=")',我会得到这样的数据:

[
  "JENKINS_HOST",
  "1.2.3.4"
]
[
  "JENKINS_INSTANCE",
  "tea"
]
[
  "JENKINS_NAME",
  "Enterprise Architecture Tools"
]
[
  "JENKINS_VERSION",
  "2.46.2"
]
[
  "JENKINS_PROTOCOL", …
Run Code Online (Sandbox Code Playgroud)

parsing json key environment-variables jq

3
推荐指数
1
解决办法
1425
查看次数