当前位置: 首页 > 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执行失败,接下来主要进行解析错误。未完待续。。。

http://www.lryc.cn/news/575676.html

相关文章:

  • [3D-portfolio] 版块包装高阶组件(封装到HOC) | Email表单逻辑 | 链式调用
  • 微服务分布式事务解决方案
  • 数据结构进阶 第七章 图(Graph)
  • 当ERP不再“一刀切“:ERP定制开发如何重塑企业数字神经
  • Charles抓包工具深度解析:从原理到实践的网络数据透视艺术
  • 利用云效实现自动化部署gitee仓库中的项目
  • Tailwind CSS 重用样式
  • 如果你在为理解RDA、PCA 和 PCoA而烦恼,不妨来看看丨TomatoSCI分析日记
  • 临床试验项目管理:高效推进新疗法上市
  • EXILIUM×亚矩云手机:重构Web3虚拟生存法则,开启多端跨链元宇宙自由征途
  • 用 Spark 优化亿级用户画像计算:Delta Lake 增量更新策略详解
  • Mac电脑如何搭建基于java后端的开发的各种工具服务
  • Ubuntu 下降 Linux Kernel 的版本备忘
  • 使用CSS泄露标签属性值 url路径遍历攻击 -- GPN CTF 2025 PAINting Dice
  • 【STL】深入理解 vector 的底层实现思想和使用
  • 东芝e-STUDIO 2323AMW双面复印报计数器溢出故障
  • 【CMake基础入门教程】第七课:查找并使用第三方库(以 find_package() 为核心)
  • [论文阅读] 人工智能+ | 用大语言模型给建筑合规检查“开挂“:BIM领域的自动化革命
  • python的银行柜台管理系统
  • Python 常用正则表达式大全
  • 【51单片机5毫秒定时器】2022-6-1
  • python打卡day43
  • 常见的排序方法
  • Jenkins 部署与使用
  • 在Visual Studio使用Qt的插件机制进行开发
  • Nordic nRF54L15 SoC对包含电池监测、中断处理和电源轨控制的定制 nPM1300 示例
  • UE Universal Camera 相机插件-限制镜头在区域内移动
  • 【Docker基础】Docker容器管理:docker restart详解
  • 使用Charles中文版抓包工具进行高效的API调试与性能优化
  • 【机器学习深度学习】线性代数