开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

AWS CodeBuild 将提供本地构建支持

  • 2019-10-18
  • 本文字数:1810 字

    阅读完需:约 6 分钟

AWS CodeBuild 将提供本地构建支持

今天,我们很高兴宣布 AWS CodeBuild 将提供本地构建支持。


AWS CodeBuild


是完全托管的构建服务。没有需要预置和扩展的服务器,或需要安装、配置和操作的软件。您只需指定您的源代码位置并选择构建设置,CodeBuild 就会通过运行构建脚本,对您的代码进行编译、测试和打包。在本博文中,我将向您演示如何在本地设置 CodeBuild 来构建并测试示例 Java 应用程序。


通过在本地计算机上构建应用程序,您可以:


  • 在本地测试 buildspec 文件的完整性和内容。

  • 提交之前,在本地测试并构建应用程序。

  • 快速识别并修复本地开发环境中的错误。

先决条件

在这篇博文中,我将使用 AWS Cloud9 IDE 作为开发环境。


如果您要将 AWS Cloud9 用作 IDE,请遵循“AWS Cloud9 用户指南”中的快速设置步骤


AWS Cloud9 IDE 中已安装了 DockerGit。如果您打算使用笔记本电脑或台式机作为开发环境,请先安装 Docker 和 Git。

在本地构建 CodeBuild 映像的步骤

运行 git clone https://github.com/aws/aws-codebuild-docker-images.git,将此存储库下载到本地计算机。


Git


$ git clone https://github.com/aws/aws-codebuild-docker-images.git
复制代码


我们来为 JDK 8 环境构建一个本地 CodeBuild 映像。JDK 8 的 Dockerfile 位于 /aws-codebuild-docker-images/ubuntu/java/openjdk-8


编辑 Dockerfile 删除最后一行 ENTRYPOINT [“dockerd-entrypoint.sh”],并保存该文件。


运行 cd ubuntu/java/openjdk-8 以更改本地工作区中的目录。


运行 docker build -t aws/codebuild/java:openjdk-8 以在本地构建 Docker 映像。运行完该命令需要几分钟的时间。


Bash


$ cd aws-codebuild-docker-images$ cd ubuntu/java/openjdk-8$ docker build -t aws/codebuild/java:openjdk-8 .
复制代码


设置 CodeBuild 本地代理的步骤

运行以下 Docker pull 命令,下载本地 CodeBuild 代理。


Bash


$ docker pull amazon/aws-codebuild-local:latest --disable-content-trust=false
复制代码


现在,您的计算机上已经具有本地代理映像,并可以运行本地构建了。


运行以下 git 命令下载示例 Java 项目。


Bash


$ git clone https://github.com/karthiksambandam/sample-web-app.git
复制代码

使用本地代理构建示例项目的步骤

我们来使用本地代理构建示例 Java 项目。


执行以下 Docker 命令,运行本地代理并构建您之前克隆的示例 Web 应用程序存储库。


$ docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/java:openjdk-8" -e "ARTIFACTS=/home/ec2-user/environment/artifacts" -e "SOURCE=/home/ec2-user/environment/sample-web-app" amazon/aws-codebuild-local
复制代码


注意 :我们需要提供三个环境变量,即 IMAGE_NAME、SOURCE 和 ARTIFACTS。


IMAGE_NAME :构建环境映像的名称。


SOURCE :源代码目录的绝对路径。


ARTIFACTS :工件输出文件夹的绝对路径。


如果您在其他操作系统上运行,绝对路径可能会有所不同:


Linux:/home/user/…


MacOS :/Users/user/…


当您运行示例项目时,会出现运行时错误,提示 YAML 文件不存在。这是因为示例 Web 项目中未包含 buildspec.yml 文件。AWS CodeBuild 需要 buildspec.yml 来运行构建。有关 buildspec.yml 的更多信息,请参阅“AWS CodeBuild 用户指南”中的构建规范示例


我们来将 buildspec.yml 文件及以下内容添加到 sample-web-app 文件夹,然后重新构建项目。


YAML


version: 0.2
phases: build: commands: - echo Build started on `date` - mvn install
artifacts: files: - target/javawebdemo.war
复制代码



$ docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/java:openjdk-8" -e "ARTIFACTS=/home/ec2-user/environment/artifacts" -e "SOURCE=/home/ec2-user/environment/sample-web-app" amazon/aws-codebuild-local
复制代码


现在,您应该可以成功构建了。成功执行后,在“/artifacts”文件夹中查看构建的最终 artifacts.zip 文件并进行验证。

总结:

在这篇博文中,我向您演示了如何快速设置 CodeBuild 本地代理,以便从本地台式机或笔记本电脑上直接构建项目。如您所见,本地构建可以帮助您快速识别和修复错误,从而提高开发人员的工作效率。


希望本文会对您有所帮助。欢迎在评论中留下您的反馈或建议。


作者介绍:


Randall Hunt


AWS 全球高级布道师。此前供职于 NASA, SpaceX 及 MongoDB。


原文链接:


https://amazonaws-china.com/cn/blogs/china/local-build-support-aws-codebuild/


2019-10-18 09:00778
用户头像

发布了 1855 篇内容, 共 123.7 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

Glyphs 3 for Mac字体设计编辑工具下载安装

Rose

Mac 软件 字体设计 Glyphs 3 mac

项目管理新利器!Project Office Pro助您精准规划,高效执行,项目成功不是梦

Rose

Serato DJ Pro mac(专业DJ软件) v3.0.3中文激活版

Rose

竖版H5摸鱼挂机游戏来啦!新版雷霆传奇详细图文架设教程

echeverra

雷霆传奇

瑞能半导体携多元成果打造全新“品牌基石” 驭领可持续篇章 为功率器件注入强劲动力

新消费日报

性能测试概念

测试人

软件测试

如何手搓一个自定义的RPC(远程过程调用框架)

京东科技开发者

服务韧性工程(SRE)论坛演讲实录丨中国移动:混沌工程与SRE的结合

雅菲奥朗

SRE 混沌工程 SRE框架 CMChaos

能源公司 Turcomp 通过 NocoBase 实现敏捷、安全开发

NocoBase

开源 低代码 无代码开发 低代码开发

记一次大库大表的治理过程

京东科技开发者

京东员工达近52万人!阿里的2倍、拼多多的30倍

王中阳Go

面经 京东

性能测试概念

霍格沃兹测试开发学社

洞察消费者需求,实时监控商品信息是关键 —— 淘宝API的力量

技术冰糖葫芦

API Explorer API 编排 api 货币化 API 文档

macOS 14 Sonoma系统下载安装 苹果最新14系统离线安装包

Rose

减少停机时间的最简单方法 — 避免单点故障

通明湖

中英人寿呈现“ACE 中英事业家”优增品牌,谱写事业与生活共益共生绚丽华章

新消费日报

Supersonic 推出游戏创意生成器,AI 助力激发开发者创作灵感

Geek_2d6073

鞋服品牌飞跃新纪元 智能商品管理软件五大颠覆性优势

第七在线

生而非凡:皮阿诺哈曼系列不锈钢橱柜打造致净厨房空间

新消费日报

《软件设计哲学》:新“代码整洁之道”

京东科技开发者

服务韧性工程(SRE)论坛演讲实录 | 雅菲奥朗: 人工智能的未来之路引领智能运维新纪元

雅菲奥朗

人工智能 AI 运维 SRE 大模型

Perfectly Clear Workbench(图片编辑软件) v4.6.1.2678永久激活版

Rose

性能测试概念

测吧(北京)科技有限公司

测试

人工智能与聊天机器人:革新互动体验的新纪元

天津汇柏科技有限公司

聊天机器人 人工智能】

文献解读-液体活检-第二十期|《连续循环肿瘤DNA检测可预测肝癌患者早期复发:一项前瞻性研究》

INSVAST

基因数据分析 生信服务 液体活检

Mac虚拟机VMware Fusion Pro 13永久密钥 VM虚拟机 mac版下载安装教程

Rose

VMware Fusion Pro 13 Mac虚拟机 VM虚拟机密钥

mesa LLVMpipe ORCJIT 上游化:一场历时两年的后端合并马拉松,幕后英雄竟是TA!

nn-30

Linux 开源 操作系统 risc-v 桌面

一文了解大模型会话QA增强

神州数码

AWS CodeBuild 将提供本地构建支持_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章