写点什么

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

    评论

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

    蚂蚁集团下架互联网存款产品:互联网金融是天使还是魔鬼

    石头IT视角

    围观|第一代云原生企业米哈游如何让想象发生?

    阿里巴巴云原生

    阿里云 最佳实践 运维 云原生 游戏开发

    阿里 10 年:一个普通技术人的成长之路

    阿里巴巴云原生

    阿里云 云原生 技术人 自我思考 职场成长

    LeetCode题解:92. 反转链表 II,递归,JavaScript,详细注释

    Lee Chen

    算法 大前端 LeetCode

    盘点2020 | 21 张图总结我的 2020 年

    Geek_z9ygea

    盘点2020

    ETHERZ流动性挖矿系统软件APP开发

    系统开发

    生产环境全链路压测建设历程 15:达成了99.99%,建设了哪些稳定性产品、工具?

    数列科技杨德华

    全链路压测 七日更

    4. 上新了Spring,全新一代类型转换机制

    YourBatman

    Spring Framework 类型转换 Converter

    架构一期第十三周作业

    Airs

    工作3年,看啥资料能月薪30K?

    小傅哥

    Java 面试 小傅哥 七日更 技术成长

    与前端训练营的日子 --Week08

    SamGo

    学习

    《面试官不讲武德》对Java初级程序猿死命摩擦Http协议

    Silently9527

    面试 https HTTP 图解https

    MySQL修改账号密码方法大全

    Simon

    MySQL 七日更

    训练营第十三周作业 2

    仲夏

    第九周-作业一

    ray-arch

    JVM 垃圾回收原理

    梧桐

    Linux 如何实现定时调度任务

    Near

    Linux Timer 定时调度

    Synchronized用法原理和锁优化升级过程(面试)

    叫练

    synchronized 轻量级锁 偏向锁 多线程与高并发 同步

    点个外卖,我把「软中断」搞懂了

    小林coding

    Linux 操作系统

    Cache Design Patterns

    邵俊达

    DeFi平台DAPP软件系统开发

    系统开发

    测开之函数进阶· 第1篇《递归函数》

    清菡软件测试

    测试开发

    训练营第十三周作业 1

    仲夏

    极客大学架构师训练营

    盘点2020|从写程序到写文章,一个宅男程序猿到平台写手的心路历程

    罗小龙

    程序猿 盘点2020 心路历程 宅男 平台写手

    IoT数据模型设计

    soolaugust

    物联网 IoT 数据模型 工业物联网 七日更

    一文搞懂 CountDownLatch 用法和源码!

    苹果看辽宁体育

    Java 源码 并发

    盘点2020 | 干饭人 cxuan 活下来了

    苹果看辽宁体育

    学习 总结 盘点2020

    第九周总结

    小兵

    快手基于 Apache Flink 的优化实践

    Apache Flink

    flink

    Java并发编程:AQS的原子性如何保证

    李尚智

    Java java 并发

    架构师训练营第十三周课程笔记及心得

    Airs

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