小编Jon*_*man的帖子

无法从 Docker Build 中的 ECR 中提取

当我尝试使用 AWS CodeBuild 从 ECR 中提取映像作为 Docker Build 的一部分时遇到凭据问题。

对于上下文,我们的设置是这样的

Codebuild 正在调用我们编写的内部 docker 工具。这个工具然后正在做 docker 构建。可以使这更容易理解的示例命令:

../codebuild-templates/ourtoolscript docker -v
Run Code Online (Sandbox Code Playgroud)

“ourtoolscript”只是一个设置一堆环境变量的bash脚本,最后用我们指定的命令调用docker run。

问题
我们正在尝试在此工具中进行 docker 构建。它可以在本地工作,也可以与其他不从 ECR 拉取映像进行构建的存储库一起使用。
我们正在这样做,因此所有标记逻辑和所有内容都是工具中的一个脚本,我们可以将其应用于每个存储库。所以说只在工具之外做一个 docker build 是不可接受的解决方案。

如果 docker 文件从 ECR 中提取“FROM”,它将失败:

time="2019-03-12T14:48:25Z" level=error msg="Error listing credentials" error="ecr: Failed to get authorization token: MissingRegion: could not find region configuration"
Get https://URLTOECRWITHTAG: no basic auth credentials
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情

我所知道的

  • CodeBuild 提供的凭据可以很好地进入我们的工具。因为它可以毫无问题地拉推
  • 如果不是从 ECR 映像构建,我可以构建得很好
  • docker …

docker dockerfile aws-codebuild docker-in-docker aws-ecr

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

使用 AWS DMS 迁移后 PostgreSQL 主键序列丢失

我最近使用 AWS Migration Service 将自托管 Postgres 数据库迁移到 AWS RDS。
Postgres 版本:10.6

我注意到我的所有主键不再设置为“序列”,当我尝试手动添加序列时,它从 1 开始,而不是继续已设置的计数。

我使用 Rails 和数据库,所以我的 sql 技能相当低。我通常可以找到插入和更新的方法,但这不是我有太多经验的领域。

我的问题有两部分:

  1. 如何修复单个表?在继续之前,我想了解并测试我正在做的事情。
  2. 有没有办法可以将此修复应用于我拥有的每个表,而无需手动修改每个表?

postgresql amazon-rds

5
推荐指数
2
解决办法
6218
查看次数

在jenkins中使用带循环的构建流插件的并行作业

我正在使用构建流程插件构建jenkins流程,该插件将获取所有作业,将名称与正则表达式进行比较,如果匹配则会触发作业的构建.
我有这个完美的工作:

import jenkins.model.Jenkins
import java.util.regex.*
Pattern myRegex = ~/release_status.*/
for (item in jenkins.model.Jenkins.instance.items) 
{
  if (item.name ==~ myRegex) {
    build( "$item.name" )
  }
}
Run Code Online (Sandbox Code Playgroud)

然而,这需要很长时间来构建所有匹配的工作(现在有20个,但可能还有更多).
我试图让这个并行运行每个作业,但我无法弄清楚groovy语法.
我尝试了3种不同的方式:

import jenkins.model.Jenkins
import java.util.regex.*
Pattern myRegex = ~/release_status.*/
parallel (
  {
    for (item in jenkins.model.Jenkins.instance.items) 
    {
      if (item.name ==~ myRegex) {
        build( "$item.name" )
      }
    }
  }
)
Run Code Online (Sandbox Code Playgroud)

^^这仍然有效,但它的工作方式与以前相同.它一次完成一项工作,并且在上一次完成之前不构建下一项工作.

import jenkins.model.Jenkins
import java.util.regex.*
Pattern myRegex = ~/release_status.*/
parallel (
  {
    for (item in jenkins.model.Jenkins.instance.items) 
    {
      if (item.name ==~ myRegex) {
        { build( …
Run Code Online (Sandbox Code Playgroud)

groovy jenkins jenkins-plugins jenkins-build-flow

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