9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

云端开发工具: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:001302

    评论

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

    DApp开发:从合约到系统快速上线解决方案

    区块链软件开发推广运营

    交易所开发 dapp开发 链游开发 公链开发 代币开发

    天翼云与百川智能达成战略合作,共同推进模型行业创新应用!

    天翼云开发者社区

    人工智能 云计算 云服务

    探索未来之路,激发AI创新活力!“天翼云息壤杯”高校AI大赛北京区域赛开赛!

    天翼云开发者社区

    云计算 AI 天翼云

    1688商品详情数据接口(1688.item_get)丨1688API接口代码指南

    tbapi

    1688商品详情接口 1688API 1688商品数据采集

    企业数字化转型部署SD-WAN的6大好处

    Ogcloud

    数字化转型 企业数字化转型 SD-WAN SD-WAN组网 SD-WAN服务商

    文小言累计调用量超35亿次,计划接入法律、票务、电商等30+AI服务化功能

    极客天地

    深入理解 Go 高性能网络框架 nbio

    俞凡

    golang

    超 90% 研发人员使用通义灵码,盖雅工场打造研发提效驾驶舱

    阿里云云效

    阿里云 云原生 通义灵码

    Redis探秘Sentinel(哨兵模式)

    不在线第一只蜗牛

    redis

    SonarQube Server 10.8 发布,新增功能概览

    sysin

    SonarQube

    CFD专栏丨HyperMesh CFD功能详解:后处理功能Part 1

    Altair RapidMiner

    仿真 altair Hypermesh CFD

    在外包干了七年,废了......

    Summer

    Java 编程 程序员 面试 架构师

    今日分享 | 初识inBuilder业务查询语言-BQL

    inBuilder低代码平台

    低代码

    从DevOps状态报告看技术团队的文化建设

    京东科技开发者

    “天翼云息壤杯”高校AI大赛云南赛区启动!

    天翼云开发者社区

    云计算 AI 天翼云

    如何提升出海企业访问海外站点的速度?

    Ogcloud

    海外网络加速 国际网络专线 网络专线

    【案例分享】思牧科技:赋能智能物流行业,中邮信源的零代码数字化之路

    明道云

    【低代码】低代码平台协同&敏捷场景下的并行开发解决方案探索

    京东科技开发者

    AIGC项目中的【模板进程】方案的设计实践

    京东科技开发者

    【FAQ】HarmonyOS SDK 闭源开放能力 —Remote Communication Kit

    HarmonyOS SDK

    harmoyos

    微店API接口探索:轻松解锁商品详情新视界

    代码忍者

    API 接口 pinduoduo API

    远程面试阿里、蚂蚁、京东、美团后整理份283页Java核心面试宝典!

    Summer

    Java 编程 程序员 面试 架构师

    Veeam Backup & Replication 12.3 (Windows) - 备份和恢复

    sysin

    veeam backup

    中国零售时装品牌商品数字化转型挑战与路径

    第七在线

    百度商业系统升级为“百度伴飞”,将释放10倍商业空间、延伸3倍经营时间

    极客天地

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