猎鹰MCP代码构建
此存储库包含用于部署CodeBuild项目的AWS CloudFormation模板,该项目从 CrowdStrike猎鹰MCP服务器 源存储库。
文件
template-fixed.yaml- 唯一要使用的模板 -简化的CloudFormation模板,可创建:
- AWS CodeBuild项目使用CrowdStrike存储库中的现有Dockerfile - 具有必要权限的IAM角色 - 用于生成日志的CloudWatch日志组 - Docker镜像的ECR存储库
参数
Environment(String):环境名称(dev、staging、prod)。默认值:devProjectName(字符串):CodeBuild项目和ECR存储库的名称。默认值:falcon mcpImageTag(String):用于构建镜像的Docker镜像标签。默认值:最新
快速部署
aws cloudformation deploy \
--template-file template-fixed.yaml \
--stack-name falcon-mcp-codebuild-dev \
--capabilities CAPABILITY_IAM CAPABILITY_NAMED_IAM备注:该模板是硬编码的,可以从CrowdStrike Falcon MCP官方存储库构建,网址为 https://github.com/CrowdStrike/falcon-mcp.
它做什么
该模板创建了一个简单高效的构建系统:
- ECR存储库:使用生命周期策略自动创建(保留最后10个图像)
- 代码构建项目:已配置为从CrowdStrike GitHub存储库手动构建
- 简化构建过程:
- 使用CrowdStrike存储库中现有的生产就绪Dockerfile - 直接从源代码构建Docker镜像 - 使用双标记(最新+提交哈希)推送到ECR - 生成部署工件
这种方法的好处
- 简单可靠:使用CrowdStrike维护的官方Dockerfile
- 始终保持最新:从上游储存库的改进中获益
- 快速构建:最小构建步骤仅关注容器化
- 生产就绪:使用与官方图像相同的构建过程
手动构建触发器
当您想使用CrowdStrike的最新版本更新ECR映像时,手动触发构建:
aws codebuild start-build --project-name falcon-mcp-dev何时触发构建:
- 当CrowdStrike发布新版Falcon MCP时
- 当您想使用主分支的最新提交进行重建时
- 用于初始设置以获取第一张图像
ECR存储库访问
# Login to ECR
aws ecr get-login-password --region your-region | docker login --username AWS --password-stdin your-account-id.dkr.ecr.your-region.amazonaws.com
# Pull the image
docker pull your-account-id.dkr.ecr.your-region.amazonaws.com/falcon-mcp:latest建筑
CloudFormation模板创建:
- ECR存储库:用于存储具有自动生命周期管理的Docker镜像
- 代码构建项目:内嵌BuildSpec,用于手动构建
- IAM角色:具有ECR权限,可实现无缝操作
- CloudWatch日志:用于构建监控和故障排除
独立且简洁:所有内容都嵌入到模板中,不需要外部文件或复杂的配置。
构建过程
手动触发时运行的简化构建管道:
- 预构建阶段:
- 启用Docker BuildKit以实现高级Dockerfile功能 - 登录亚马逊ECR - 使用提交哈希设置图像标记
- 构建阶段:
- 使用CrowdStrike存储库中的现有Dockerfile构建Docker镜像 - ECR的标签图像(包括最新标签和提交特定标签)
- 建造后阶段:
- 将图像推送到ECR - 生成 imagedefinitions.json 用于部署
环境变量
构建环境包括标准CodeBuild变量:
AWS_DEFAULT_REGION-当前AWS区域AWS_ACCOUNT_ID-当前AWS帐户IDIMAGE_REPO_NAME-ECR存储库名称IMAGE_TAG-Docker镜像标签(默认:最新)DOCKER_BUILDKIT=1-启用Docker BuildKit以实现高级Dockerfile功能
缓存
Docker层缓存通过重用未更改的层来加速后续构建。
