2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

云端开发工具:AWS CodeStar

  • 2019-11-18
  • 本文字数:3454 字

    阅读完需:约 11 分钟

云端开发工具:AWS CodeStar

概述

2017 年 4 月旧金山的 AWS 全球峰会上,一项名为 CodeStar 的新服务闪亮登场,他帮助您在 AWS 上快速开发、构建和部署应用程序。从此,AWS 对软件开发生命周期的支持,向开发者那端又迈进了一步。


下图为 DevOps 相关的 AWS 服务:



AWS CodeStar 的主要功能包括:


  1. 快速开发:可选多种项目模版和编程语言,快速开发基于 Amazon EC2、AWS Lambda 和 AWS Elastic Beanstalk 的 Web 应用程序、微服务和 Alexa 技能。

  2. CI & CD:与其他 AWS DevOps 服务或第三方工具集成,您可以在几分钟内建立起持续集成和持续部署工具链,从而以更快的速度发布代码。

  3. 团队协作:集中管理项目组成员的权限,这些权限被自动应用到项目中所有使用到的服务,无须额外创建复杂的 IAM 策略。

  4. 项目管理:通过 Dashboard 可以看到项目的整体状况,最新的项目活动(例如最近一次代码变更、编译和发布的结果),还可以与 Atlassian JIRA 集成以便跟踪和管理问题。


接下来,我们谈一谈如何快速上手这款好用的服务。

前提条件

使用 CodeStar 之前,需要做一些准备工作,包括:


  1. 用户:创建或使用您已有的一个 AWS 用户,登录控制台,并确认您拥有该用户的 access key 和 secret key。

  2. 权限:如果希望该用户可以创建 CodeStar 项目,则需要赋予他 AWSCodeStarFullAccess 权限。如果该用户已经被加入其他 CodeStar 项目,则他已经被分配了相应的权限。

  3. 证书:为了将本地的代码变化递交到 CodeStar 项目,您需要生成一个 HTTPS Git 证书,用以连接您在云端的私有 Repository。请参阅:http://docs.aws.amazon.com/zh_cn/codestar/latest/userguide/getting-started.html#git-credentials

  4. 密钥对:如您希望访问 CodeStar 项目创建的 EC2 资源,则需要创建或使用一个已有的密钥对。

  5. Git:在本地安装 Git 工具。请参阅:https://git-scm.com/downloads


好了,准备工作完毕,现在开始创建您的第一个 CodeStar 项目吧!

开始使用

目前 CodeStar 仅在 EU (Ireland)、US East (N. Virginia)、US East (Ohio)和 US West (Oregon)四个区域可用,选择 CodeStar 服务后,出现如下画面:



第一次使用时,会提示您创建 CodeStar 的 service role,该服务角色将以您的名义创建、管理所选择的资源,并在仪表板中展示资源的信息。



然后,我们会看到 CodeStar 提供给您丰富的项目模版。本例选择使用 Node.js 在 EC2 上搭建一个 Web 应用程序。



接下来给项目起个名字(自动生成项目 ID);然后勾选“AWS CodeStar would like permission to administer AWS resources on your behalf”,将 service role 赋予 CodeStar,从而创建项目和资源;最后还可以点击“Edit Amazon EC2 Configuration”,选择 EC2 实例类型、所在 VPC 和子网。




点击下一步之后,会让您选择一个用于登录 EC2 的密钥对。



首次使用 CodeStar 的用户,需要输入昵称和电子邮件。



接下来选择您偏爱的 IDE 工具,包括:Visual Studio,Eclipse 和命令行工具。我们暂时选择 Skip 略过,在后面的“特点:与 IDE 集成”中详细介绍。



至此,CodeStar 项目创建完毕。您可以在 Dashboard 右侧的 CodePipline 窗口中看到,程序被自动递交到 CodeCommit 做代码管理,并通过 CodeDeploy 自动部署于 EC2 实例,同时给出了访问 Web 应用的 Endpoint。关于 CodePipline 服务,请参考:https://aws.amazon.com/cn/codepipeline/



点击 CodeStar 左侧菜单栏中的 Code 选项,转向 CodeCommit 服务,可以看到代码管理的详细信息。关于 CodeCommit 服务,请参考:https://aws.amazon.com/cn/codecommit/



点击 CodeStar 左侧菜单栏中的 Deploy 选项,转向 CodeDeploy 服务,可以看到应用部署的详细信息。关于 CodeDeploy 服务,请参考:https://aws.amazon.com/cn/codedeploy/



在浏览器中通过 Endpoint 访问 Web 应用,成功显示如下页面。



若要修改代码,点击 CodeStar 左侧菜单栏中的 Code 选项,转向 CodeCommit 服务。点击 Clone URL,选择 HTTPS,拷贝 Repository 链接。



在本地打开命令行窗口,更改至目标目录,运行“git clone 上一步拷贝的链接“将代码复制到本地。然后在本地编辑代码,本例对 index.html 的 Header 文字做了修改。最后在命令行窗口中运行下述命令,将变化递交到 Repository:


git add index.html


git commit -m "Changed title. "


git push


//注:有两种方法可以递交代码变化,除了这里介绍的 Git 客户端,还可以通过 IDE。第二种方法会在后面的“特点:与 IDE 集成”中详细介绍。


回到 CodeStar Dashboard,在右侧可以看到代码已成功递交到 CodeCommit,同时自动部署到 EC2。



重新刷新页面,我们发现 Header 文字已变更。细心的观众还注意到,这个页面的背景颜色会随时间变化。怎么样,CodeStar 的使用是不是很简单呢?


特点

最后,说几个 AWS CodeStar 为人称道,也非常实用的特性。


  1. 快速开发:提供给您多种项目模板(Web 应用程序、微服务和 Alexa 技能),您可以选择自己喜爱的编程语言(Java、JavaScript、PHP、Ruby 和 Python),CodeStar 会帮助您在 Amazon EC2、AWS Lambda 和 AWS Elastic Beanstalk 上搭建起相应的运行时环境和应用程序框架。

  2. CI & CD:与 AWS 或第三方 DevOps 工具集成,迅速搭建持续集成和持续部署工具链。AWS 的 DevOps 服务包括:



与 AWS 紧密合作的第三方 DevOps 工具包括:



本文的 CI & CD 流程和使用的服务如下图所示:



  1. 与 IDE 集成:CodeStar 可以与您喜爱的 IDE 集成,在 IDE 中进行开发,代码变化将被递交到 CodeStar 项目中,并自动触发 CI & CD 流程。接下来以 Eclipse 为例说明;关于与 Visual Studio 的集成,请参阅:http://docs.aws.amazon.com/zh_cn/codestar/latest/userguide/setting-up-ide-vs.html


推荐使用 Neon/Mars/Luna 版本的 Eclipse IDE for Java EE Developers,他包含了 Elastic Beanstalk 需要的 Eclipse Web Tools,以及 Amazon SimpleDB 需要的 Eclipse Data Tools。



在 Eclipse 中安装 AWS Toolkit for Eclipse 插件。



输入 URL:https://aws.amazon.com/eclipse,选择所有插件,点击Next后按提示安装。



安装完毕后,在偏好设置中输入您的 access key 和 secret key(如果曾用 AWS CLI 设置过,则自动显示于此),以便 Eclipse 可以访问您的 AWS 资源。



导入 CodeStar 项目。



导入时需要指定用户和区域,选择项目,输入用于 HTTPS 登录 CodeCommit 的用户名和密码。点击 Next 后按提示完成。



开始编辑代码,完成后对修改的文件右键,选择 Team->Commit。



在弹出的 Git Staging 窗口中输入递交信息,然后点击 Commit and Push,确认无误后点击 OK。



返回 CodeStar,从左侧菜单栏中打开 CodePipline,可以看到修改后的代码已被递交到云端 Repository,应用程序被自动部署到 EC2 实例。通过 Endpoint 访问网页,发现修改成功。



  1. 团队协作:您可以将团队成员添加到项目中,并通过指定他们的角色,轻松管理访问权限。一共有三种角色可供选择:


col 1col 2col 3col 4col 5
角色名称项目仪表盘和状态访问或修改项目资源增加或删除团队成员删除项目
所有者XXXX
贡献者XX
观察者X


在 Dashboard 左侧菜单栏中点击 Team,即可增加团队成员。



您可以随时调整他们的角色,例如:张三离开项目组,改去做 PMO;通过控制台或 CLI,可将张三从贡献者改为观察者,并拒绝张三远程访问。此外,一个团队成员可以同时属于多个项目,在不同项目内可以拥有不同角色。




    还可以与大名鼎鼎的 Atlassian JIRA 集成,实现问题跟踪功能,您可以轻松跟踪项目进度、待办事项和最新发布。关于 Atlassian JIRA 软件,请参阅:https://www.atlassian.com/software/jira


    先在 JIRA 中创建项目。



    然后将 JIRA 与 CodeStar 相关联,即可在 Dashboard 中进行问题管理。



    1. 成本:使用 AWS CodeStar 不收取任何额外费用。您只需为用于开发和运行应用程序所预置的 AWS 资源付费。

    参考

    官方文档:http://docs.aws.amazon.com/zh_cn/codestar/latest/userguide/welcome.html


    作者介绍



    何鹏


    AWS 解决方案架构师,14 年软件开发、系统集成、移动应用和云计算解决方案经验。曾任 NEC 中国高级项目经理、摩托罗拉系统中国有限公司高级解决方案架构师。多年为国内外零售与物流行业大客户构筑其 IT 系统,此外还拥有丰富的面向金融服务、HFT(高频交易)初创企业的 IT 解决方案设计经验。目前在 AWS 中国负责推广针对初创企业的最佳云计算架构实践。


    本文转载自 AWS 技术博客。


    原文链接:


    https://amazonaws-china.com/cn/blogs/china/developer-tool-codestar


    2019-11-18 08:001357

    评论

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

    SpringBoot系列(5)- 自定义配置

    引花眠

    springboot

    8.6非阻塞网络I/O

    张荣召

    每个程序员都应该知道的数字

    多颗糖

    数据库 计算机基础 存储

    Java集合(3)-- iterable接口超级详细解读

    秦怀杂货店

    Java 源码 Iterator和Iterable 集合 iterable

    过滤Spark数据集的四种方法

    大数志

    大数据 spark 数据分析 数据科学

    Java 集合(4)-- iterable和iterator异同分析

    秦怀杂货店

    Java Iterator和Iterable 集合 iterable

    高可用可伸缩微服务架构:基于Dubbo、SpringCloud和ServiceMesh完整蓝光版PDF分享

    Java架构追梦

    Java 微服务 dubbo Service Mesh SpringCloud

    【薪火计划】02 - 一将功成万骨枯

    码上生长

    管理

    我画着图,FluentAPI 她自己就生成了

    newbe36524

    C# .net .net core netcore

    8.5网络通信基本原理与性能优化

    张荣召

    Java集合(1)-- 俯瞰Java集合源码以及分类

    秦怀杂货店

    Java 源码 Iterator和Iterable JAVA集合

    Java集合(2)-- Iterator接口超级详细解读

    秦怀杂货店

    Java 源码 Iterator和Iterable 集合 Iterator

    超赞!吃透这份Github点赞120k的Java知识面试笔记Offer拿到手软

    比伯

    Java 编程 程序员 架构 面试

    机器学习的产业化变革中,华为云ModelArts的新成绩单

    脑极体

    在历史的天空重逢!大话鲲鹏上海记

    脑极体

    架构师训练营第 1 期 第 8 周作业

    李循律

    极客大学架构师训练营

    架构师训练营 1 期 - 第八周总结(vaik)

    行之

    极客大学架构师训练营

    面试官:Redis 主从复制时网络开小差了怎么整?

    redis 学习 面试

    高性能-Nginx多进程高并发、低时延、高可靠机制在百万级缓存(redis、memcache)代理中间件中的应用

    杨亚洲腾讯科技

    nginx memcached 分布式缓存 redis cluster 分布式数据库mongodb

    【干货】内存条的基础讲解,够用绝大多数情况

    亚兰—硅的传奇official

    计算机基础 内存 装机 硬件

    第5周 技术选型(一)-作业

    SuGeek

    极客大学架构师训练营

    va_list 可变长参数原理

    liu_liu

    c 可变参数 va_list

    第 4 周作业

    Steven

    极客大学架构师训练营

    Java 集合(5)-- Collections源码解析

    秦怀杂货店

    Java 集合 Collections

    Spring改变版本号命名规则:此举对非英语国家很友好

    YourBatman

    Spring Boot 语义化 Spring Framework 日历化

    训练营第四周学习总结

    爱码士

    训练营

    flink-sql流计算可视化UI平台

    无情

    sql flink 实时计算 平台

    学习总结--week08

    张荣召

    限流、熔断与降级

    idonkeyliu

    后台开发 熔断 限流 降级

    训练营第4周作业

    爱码士

    训练营

    适合初学者的Web Components教程[2019](译)

    西贝

    Java Web Component 组件

    云端开发工具:AWS CodeStar_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章