写点什么

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

    评论

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

    网易有道x6pro和科大讯飞p20plus哪个好

    妙龙

    科大讯飞

    苹果电脑可以玩《赛博朋克2077》吗?赛博朋克对苹果电脑的配置要求

    阿拉灯神丁

    赛博朋克 虚拟机软件 Mac游戏分享 苹果电脑游戏推荐 CrossOver 24

    宋章明|工业数据管理模式变革驱动下,重新想象工业设备管理

    麦杰研究院

    科大讯飞X8Pro和有道X7pro区别

    妙龙

    科大讯飞

    科大讯飞词典笔x8和x8pro选哪个好

    妙龙

    科大讯飞 词典笔

    微信native支付对接案例详解

    恩爸编程

    微信支付 微信支付开发 微信native支付对接

    科大讯飞p30和s30的区别

    妙龙

    科大讯飞 学习机

    科大讯飞x3和x3pro哪个值得买

    妙龙

    科大讯飞 办公本

    科大讯飞X3和X3LAMY区别

    妙龙

    科大讯飞 办公本

    科大讯飞X3 LAMY、X3 Pro和X3的区别

    妙龙

    科大讯飞 办公本

    停车位预约APP开发为用户省时省力

    V\TG【ch3nguang】

    2024-12-14:K 周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串 word 和一个整数k,k是n的因数。每次操作可以选择两个下标i和j,使得i和j都可以被k整除,然后用从j

    福大大架构师每日一题

    福大大架构师每日一题

    科大讯飞学习机和小猿学练机区别对比

    妙龙

    科大讯飞 学习机

    科大讯飞翻译机4.0和SE、科大讯飞双屏翻译机区别对比

    妙龙

    科大讯飞 翻译机

    科大讯飞T30Pro和T30Lite的区别对比评测

    妙龙

    科大讯飞 学习机

    评测 科大讯飞T30Pro和LUMIE10Pro区别对比选哪个

    妙龙

    科大讯飞 学习机

    科大讯飞 P20 Plus词典笔 测评

    妙龙

    科大讯飞 词典笔

    科大讯飞智能办公本Air 2 评测 使用感受

    妙龙

    科大讯飞 学习机

    华为周智勇:“一切即一,一即一切”,加速优化智能企业数字治理

    Geek_2d6073

    科大讯飞X3LAMY和X2LAMY区别

    妙龙

    科大讯飞 办公本

    拿到HUAWEI Mate70后,别忘了下载这个“新应用”

    YG科技

    国产游戏横扫全球、鸿蒙再度进化:中国游戏最好的时代真来了

    最新动态

    科大讯飞air2pro和airpro的区别,科大讯飞air2pro和airpro哪个好

    妙龙

    科大讯飞 学习机

    团队测试流程如何制定和实施

    易成研发中心

    团队管理 团队测试流程

    科大讯飞p20plus和s11区别

    妙龙

    科大讯飞

    亮相AICon,火山引擎边缘云揭秘边缘AI Agent探索与实践

    火山引擎边缘云

    边缘计算 智能体 AI 大底座 边缘智能

    “明星级”人形机器人[波士顿动力]宣布裁员!

    机器人头条

    波士顿动力 特斯拉 人形机器人 具身智能

    一文讲清数据库的分库分表

    王中阳Go

    数据库 后端

    科大讯飞air2pro和x3区别

    妙龙

    科大讯飞 办公本

    鸿蒙生态以“新机遇、新体验、新服务”赋能游戏产业发展

    最新动态

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