当前位置: 首页 > news >正文

aws(学习笔记第四十七课) codepipeline-docker-build

文章目录

  • aws(学习笔记第四十七课) codepipeline-docker-build
  • 学习内容:
    • 1. 代码连接和修改
      • 1.1 代码链接
      • 1.2 代码手动修改部分
    • 2. 代码整体架构
      • 2.1 `base.py`准备`S3 bucket`以及`codebuild project`
      • 2.2 `base.py`准备`S3 bucket`以及`codebuild project`
    • 3. 执行`pipeline`
      • 3.1 执行`cdk`
      • 3.2 检查`ECR Ecs Container Registry`
      • 3.2 检查`pipeline`
      • 3.3 检查`ssm`
    • 4. 执行`push.sh`来模拟代码上传到`s3 bucket`
      • 4.1 执行环境
      • 4.2 进行`git clone`
      • 4.3 执行`./push.sh`
      • 4.4 观察`codepipeline`

aws(学习笔记第四十七课) codepipeline-docker-build

  • 使用CodeBuild来build一个docker Image
  • 将它push到一个ECR

学习内容:

  • 在不同的stack之前传递参数props
  • 使用ssm store来保存parameters
  • 后面的push.sh能够从ssm store取得参数

1. 代码连接和修改

1.1 代码链接

代码链接(codepipeline-docker-build)

1.2 代码手动修改部分

2. 代码整体架构

2.1 base.py准备S3 bucket以及codebuild project

在这里插入图片描述

  • 准备s3 bucket里面保存上传的source.zip
  • 利用SSM(Session Manager)保存参数
  • 创建codebuild project进行build
  • codebuild project生成的docker image保存pushecr

2.2 base.py准备S3 bucket以及codebuild project

在这里插入图片描述

  • 创建source stage,这里是监视S3 bucket的上传的source.zip
  • 创建build stage,这里inputsource stageoutput
  • 最后将pipeline.pipeline_name保存到SSM SessionManager

3. 执行pipeline

python -m venv .venv
source .venv/Scripts/activate
pip -r requirements.txt
cdk --require-approval never deploy --all # 因为这里存在多个stacks,所以使用--all

3.1 执行cdk

在这里插入图片描述

3.2 检查ECR Ecs Container Registry

在这里插入图片描述

3.2 检查pipeline

在这里插入图片描述

3.3 检查ssm

这里还是求助了AI
在这里插入图片描述
查看到了cdk登录的参数。
在这里插入图片描述

4. 执行push.sh来模拟代码上传到s3 bucket

4.1 执行环境

这里选择cloudshell进行执行,因为手头没有合适的linux环境。
而且,可以看出,这里的~/.aws/下面的文件,是root账号的awscredentials。在练习阶段使用,没有问题。
在这里插入图片描述

4.2 进行git clone

git clone https://gitcode.com/gh_mirrors/aw/aws-cdk-examples

4.3 执行./push.sh

/home/cloudshell-user/aws-cdk-examples/python/codepipeline-docker-build

修改下自己的region
在这里插入图片描述
执行./push.sh
在这里插入图片描述

4.4 观察codepipeline

在这里插入图片描述
可以看出source stage执行成功,但是build stage执行失败,接下来主要进行解析错误。未完待续。。。

相关文章:

  • 深入解析设备管理系统新趋势:物联网与云原生驱动的智能化实践
  • 软件测试之基于博客系统项目的性能测试
  • 大数据赋能智慧城市:从数据洪流到科学规划的“智慧之匙”
  • 互联网医院系统源码解析:如何实现视频问诊、电子处方等核心功能?
  • 详解零拷贝
  • 面试150 验证回文串
  • 七天学会SpringCloud分布式微服务——02——第一个微服务项目
  • Redis-基本命令
  • Tailwind CSS 尺寸控制
  • 兰洋科技上合组织论坛发表专题分享,全球液冷布局引领绿色算力未来
  • 开发基于Jeston Orin Nx 开发版 16G的实现
  • YOLO+ONNX+PyQt打包为exe踩坑记录
  • ASP.NET Core Web API 实现 JWT 身份验证
  • (LeetCode 面试经典 150 题 ) 55. 跳跃游戏 (贪心)
  • 人工智能中的集成学习:从原理到实战
  • 用 PyTorch 构建液态神经网络(LNN):下一代动态深度学习模型
  • 从Yocto中获取源码用传统的方式单独编译
  • 网络分层模型与协议体系技术研究报告
  • 【力扣 中等 C】467. 环绕字符串中唯一的子字符串
  • OBCP第三章 OceanBase SQL 引擎高级技术学习笔记