小编air*_*ata的帖子

出口| 仅使用 AWS CLI 导入 DynamoDB

我的目标是拥有一个简单的工具,可以仅通过aws cli或更少的第三方将 dynamodb 导出到本地文件(json/csv)。我的表大小约为 500mb。

我正在进行几天的研究,我看到了非常好的项目,例如dynamodump另一个 SDK 实现。我还测试了Datapipeline来自亚马逊的,但对于我目标的任务想要简单的aws cli.

假设我已经有表的映射,例如索引和属性。现在我只想导入我拥有的项目。对我来说,最好的实施解决方案是这样的:

  1. 将表从 aws 导出到本地文件: aws dynamodb scan --table-name SOMETABLENAME --output json | jq '.Items[]' > SOMETABLENAME.json

  2. sed使用、jqawk...等内容渲染文件。要获得可以导入到 aws-dynamodb 的正确 json 格式

  3. 使用以下命令将项目从 SOMETABLENAME 导入到 aws-dynamodb:

    aws dynamodb put-item --table-name SOMETABLENAME --item file://SOMETABLENAME.json

amazon-dynamodb aws-cli

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

jenkins Slave 的 PersistentVolumeClaim 工作区

PersistentVolumeClaim我正在尝试使用kubernetes-plugin来保留我的工作区

我已经创建了文件PV并将PVC其存储在本地磁盘上。该管道以前运行良好,但现在不再在本地磁盘上创建工作区。

这是我的管道。知道为什么不起作用吗?

def podTemplate = """
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: maven
    image: maven
    command:
    - sleep
    args:
    - infinity
    volumeMounts:
      - name: workspace-volume
        mountPath: /home/jenkins/agent
    workingDir: "/home/jenkins/agent"
  volumes:
      - name: "workspace-volume"
        persistentVolumeClaim:
          claimName: "jenkins-slave-pvc"
          readOnly: false
"""


pipeline {
    agent none
    stages {
        stage ('maven') {
            agent { 
                kubernetes {
                    yaml podTemplate 
                    defaultContainer 'maven' 
                } 
            }
            stages {
                stage('Nested 1') {                  
                    steps {
                        sh "touch Nested1 && mvn …
Run Code Online (Sandbox Code Playgroud)

jenkins kubernetes jenkins-pipeline jenkins-declarative-pipeline jenkins-kubernetes

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

如何使 ssh-add 从变量中读取密码?

我想使用 ssh-add 加载受变量密码保护的 ssh 密钥。

当我尝试从文件加载它时,效果很好。

eval $(ssh-agent)

DISPLAY=1 SSH_ASKPASS="passwordfile" ssh-add id_rsa < /dev/null

现在我想将密码和 id_rsa 分配给变量并使用如下内容:

eval $(ssh-agent)

DISPLAY=1 SSH_ASKPASS="$PASSPHRASE" ssh-add $ID_RSA < /dev/null

我怎样才能实现这个目标?

ssh ssh-keys ssh-agent

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

如何在 ec2 元数据中查找安全组 ID?

我试图在元数据中查找安全组 ID,但只有该组的名称。

\n\n

得到的名字是curl这样的:

\n\n
\xef\xbb\xbf\xef\xbb\xbfcurl http://169.254.169.254/latest/meta-data/security-groups/\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果

\n\n
some-secgroup-name\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要这样的 IDsg-1234567911

\n\n

知道如何在元数据中查找(没有 CLI)吗?

\n

metadata amazon-ec2 amazon-web-services

2
推荐指数
1
解决办法
1154
查看次数

Jenkins 作业通过构建分离工作区

我们有一项工作,在构建过程中在工作区文件夹中生成一些 html 文件。我们的目标是在构建完成后获取这些文件并对其进行压缩。

该工作的第一步是清理工作区 - 确保不存在以前版本中的文件。

当我们开始构建并且有人开始单独的构建时,我们的问题就出现了 - 工作区被擦除。两个构建都会生成这些 html,并且内容会从不同的构建中混合起来。

如果有人知道如何将每个构建分开以拥有自己的工作空间,将会很高兴分享它。我希望这仅适用于一份工作。其他工作必须保留在共享工作空间中。

jenkins jenkins-pipeline

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

使用“标签”或在 jenkinsfile 中为 kubernetes-plugin 定义 pod 模板?

一般来说

我在为 Jenkins 使用kubernetes-plugin时尝试使用标签,但我有点困惑。在我的pipeline下面,我尝试parallel使用不同的标签(代理)分步骤构建测试作业。

我已经在 J​​enkins 配置中使用 pod 模板和容器配置了插件,其中我使用与podTemplate定义的管道中相同的设置。

问题

问题是,当我agent label在第 2 阶段使用时,运行的是 jnpl 映像,而不是我在 config 中指向的映像someimage:latest

stage 1我在管道中定义 pod 的地方没有问题,并且所需的图像运行良好。

问题

我做错了什么? 这是我在 Jenkins 中的kubernetes 插件jenkinsfile的配置:

def podTemplate = """
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: k8s
    image: someimage:latest
    command:
    - sleep
    args:
    - infinity
    volumeMounts:
      - name: workspace-volume
        mountPath: /home/jenkins/agent
    workingDir: "/home/jenkins/agent"
  volumes:
      - name: "workspace-volume"
        persistentVolumeClaim:
          claimName: "jenkins-worker-pvc" …
Run Code Online (Sandbox Code Playgroud)

jenkins jenkins-plugins kubernetes jenkins-pipeline kubernetes-jenkins-plugin

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