在我们当前的设置中,我们有以下Jenkins配置。
Jenkins Master< - ssh - >詹金斯奴隶
所以Jenkins Master能够成功连接到奴隶。我想提供一种方法,以便奴隶获得一个docker镜像,这样我们就可以使用预构建的Docker slave构建。在本地构建Docker slave时我可以使用它,但是当我想从AWS ECR存储库中提取这个Docker构建从属时,我似乎遇到了障碍。我似乎无法找到提供凭据的方法。
我们正在使用AWS ECR插件,但这无助于提供ECR拉动的详细信息。 (见帖子http://getmesh.io/Blog/Jenkins+2+Pipeline+101)
我可以配置AWS ECR凭据的任何线索,以便可以提取Docker模板吗?
答案 0 :(得分:1)
据我所知,您的Jenkins docker slave服务器应该awscli installed具有有效的AWS密钥和密钥。完成此操作后,您可以在Jenkins docker slave服务器上运行以下命令进行身份验证:
0 */6 * * * aws ecr get-login --region YOUR_REGION --no-include-email | xargs -n 1 -P 10 -I {} bash -c {}
该命令将获取awscli的输出并登录AWS ECR。
由于AWS ECR令牌每12小时到期,我已经添加了一个cronjob,每6个小时更新一次令牌。
<DataGrid AutoGenerateColumns="False" Name="datagrid" ItemsSource="{Binding}" RowEditEnding="datagrid_RowEditEnding">
或者作为替代方案,您可以创建内部AWS ECR匿名代理,组织中的每个人都可以从中提取容器。查看this project for more details