写点什么

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

    评论

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

    springboot+vue+activiti,在线编辑器,快速开发平台

    金陵老街

    Java Vue 工作流 springboot Activiti

    北鲲云超算平台如何帮助高性能计算行业提供解决方案

    北鲲云

    读书笔记-《数据密集型应用系统设计》-概论

    KayTin

    Goroutine & Channel

    Vibyird

    并发编程 channel CSP Go 语言 goroutine

    kubelet 1.14 升级 kubelet 1.20 容器重启问题

    Geek_f24c45

    Docker Kubernetes kubelet

    能不能征服初恋,就看这个架构了!!!

    人工智能~~~

    fil矿机什么时候开始挖?fil矿机能挖多久?

    fil矿机能挖多久 fil矿机什么时候开始挖

    技术分析| 实时音视频通讯中的流媒体是怎样传输的

    anyRTC开发者

    音视频 WebRTC 流媒体 流媒体传输

    区块链应用:从技术工具到创新思维

    CECBC

    优雅的故障处理:快速创建 Pulsar 重试队列

    Apache Pulsar

    消息队列 Apache Pulsar StreamNative

    计算机网络常用知识总结

    Java 架构 后端 网络 计算机

    模块一作业

    陈家豪

    架构实战营

    ipfs挖矿合法吗?ipfs挖矿靠谱吗?

    区块链 IPFS ipfs挖矿 ipfs矿机 filecoin挖矿

    量化交易炒币机器人系统搭建

    量化系统19942438797

    机器人 量化交易

    盲盒星球系统开发

    (王经理)专业app小程序开发

    WorkPlus高端制造业移动数字化平台解决方案—华晨宝马

    BeeWorks

    即时通讯 移动办公平台 移动数字化底座 移动数字化基座 企业即时通讯平台

    技术实践|网易云信 IM SDK 服务高可用技术方案

    网易云信

    后端

    Java内存问题从工具到诊断平台

    徐敏

    Java 监控 垃圾回收 故障诊断

    区块链“通证”将颠覆“资本”

    CECBC

    宝安机关食堂支持数字人民币刷脸支付

    CECBC

    小公司实施系统为什么也容易失败?

    明道云

    fil挖矿步骤教程是什么?fil挖矿规则是什么?

    fil挖矿步骤教程是什么 fil挖矿规则是什么

    一周信创舆情观察(8.16~8.22)

    统小信uos

    图数据库在百度汉语中的应用

    百度Geek说

    数据库 后端

    如何基于分布式KV研发一款消息中间件

    Java 编程 面试 后端 中间件

    最全互联网后端免费技术分享视频资源学习社区

    hanaper

    Go 与 C++ 的对比和比较

    恒生LIGHT云社区

    c++ 编程语言 Go 语言

    交易所智能炒币机器人开发||量化交易炒币机器人系统搭建

    Geek_23f0c3

    量化交易机器人系统开发 炒币机器人

    存储大师班 | ZFS存储池块管理与事务模型

    QingStor分布式存储

    文件存储 分布式存储

    吐血整理!金九银十必问的1000道Java面试题及答案

    Java 编程 程序员 架构 面试

    区块链产业大爆发!未来究竟是谁的机会?

    CECBC

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