当前位置: 首页 > 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.lqws.cn/news/533449.html

相关文章:

  • LINUX 626 DNS报错
  • WebRTC(十):RTP和SRTP
  • 新手向:Anaconda3的安装与使用方法
  • 【电力物联网】云–边协同介绍
  • C# 项目使用obfuscar混淆
  • ubuntu 下cursor的安装
  • 数据分享:汽车行业-汽车属性数据集
  • 儿童机器人玩具未来的市场空间有多大?
  • kafka命令行操作
  • Maven安装和重要知识点概括
  • 数据结构-第三节-树与二叉树
  • GtkSharp跨平台WinForm实现
  • 七天学会SpringCloud分布式微服务——03——Nacos远程调用
  • 01【C++ 入门基础】命名空间/域
  • vue 开启 source-map 后构建速度会很慢
  • LaTeX之中文支持和设置字体的几种方法
  • Docker 入门教程(一):从概念到第一个容器
  • php的案例分析----typecho项目
  • 华为云Flexus+DeepSeek征文|华为云ModelArts搭建Dify-LLM应用开发平台(AI智能选股大模型)
  • 制药行业的精细化管理:GCOM80-2NET自动化解决方案
  • 用pthread_setschedparam设置调度策略
  • Altera PCI IP target设计分享
  • STM32F103ZET6开发板【项目工程创建】+具体实现步骤流程
  • 构建高效字符串编解码系统:Prefix-Token-Suffix三元组方法
  • python pyecharts 数据分析及可视化
  • 创客匠人解析视频号公私域互通逻辑:知识变现的破圈与沉淀之道
  • [特殊字符]推客带货小程序解决方案——0门槛裂变营销,佣金赚不停!
  • 408考研逐题详解:2010年第7题——连通图的边
  • 代码随想录|图论|06岛屿数量(广搜BFS)
  • PhoneRescue 4.3绿色版!解决iPhone数据丢失、系统崩溃等场景