HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

    评论

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

    云智慧助力MLOps加速落地

    云智慧AIOps社区

    人工智能 机器学习 智能运维 自动化运维 算法模型

    快速上手Amazon SageMaker动手实验室

    指剑

    AI AWS Stable Diffusion Amazon SageMaker

    localedef 生成本地化文件遇到的问题

    程序员与厨子

    Linux Shell 信创 openEuler

    无惧百万级并发,GaussDB(for Cassandra)让华为推送服务更快触达

    华为云开发者联盟

    数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

    从应用看火山引擎AB测试(DataTester)的最佳实践

    字节跳动数据平台

    AB testing实战 A/B测试 企业号 4 月 PK 榜 对比试验

    深入理解 Go 语言中的封装机制

    宇宙之一粟

    Go 封装 三周年连更

    博睿数据蝉联中国APM市场份额第一,Bonree ONE春季正式版重磅发布

    博睿数据

    可观测性 智能运维 博睿数据 ONE有引力

    视频剪辑调色:达芬奇DaVinci Resolve Studio 18 Mac版

    真大的脸盆

    Mac 视频剪辑 Mac 软件 视频调色 视频剪辑调色软件

    看了这份《算法中文手册》笔记,就再也不怕字节了

    Java你猿哥

    Java 算法 ssm 字节 左程云

    太牛了,这是我见过把微服务讲的最全最好的SpringCloud架构进阶

    Java你猿哥

    Java 架构 微服务 微服务架构 Spring Cloud

    硬件工程师常见问题与答疑

    华秋PCB

    科普 工程师 电子信息 基础知识 电子

    Java最佳实践

    码语者

    Java

    ShareSDK第三方平台注册指南

    MobTech袤博科技

    华为云GaussDB支撑华为MetaERP系统全面替换

    华为云开发者联盟

    数据库 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

    又一巅峰神作!14年工作经验大佬出品“JVM&G1 GC深入学习手册”

    Java你猿哥

    Java JVM SSM框架 jvm调优 G1垃圾回收器

    太强了!京东架构师独家微服务笔记,啃完直入字节

    做梦都在改BUG

    Java 架构 微服务 Spring Cloud

    Spring中事务嵌套使用一定得警惕这个问题了!

    Java你猿哥

    spring SSM框架 spring cloud

    一文讲透产品经理如何用好ChatGPT

    京东科技开发者

    人工智能 产品经理 GPT-4 企业号 4 月 PK 榜

    一文读懂火山引擎数智平台VeDI新品——管理驾驶舱Plus

    字节跳动数据平台

    企业管理 实时决策 企业号 4 月 PK 榜

    CV 领域的 ChatGPT?MetaAI 推出“最强”大视觉模型 SAM

    Zilliz

    计算机视觉 ChatGPT metaai 大视觉模型

    Spring中事务嵌套使用一定得警惕这个问题了

    做梦都在改BUG

    Java spring 事务

    如何科学判断研发团队是否在健康工作?(内附量表)

    LigaAI

    研发管理 技术管理 敏捷度量 企业号 4 月 PK 榜 研发效能管理

    一文带你搞定Maven全功能

    Java你猿哥

    Java maven ssm 生命周期 Maven仓库

    不同编程语言的程序,能够被 ChatGPT 自动生成的可能性的一些思考

    汪子熙

    人工智能 神经网络 机器学习 深度学习 三周年连更

    “烧钱”的大模型:初探成本拆解与推理优化方法

    Baihai IDP

    人工智能 深度学习 大模型 LLM 企业号 4 月 PK 榜

    多线程如何实现事务回滚?一招帮你搞定!

    Java你猿哥

    Java 多线程 子线程

    人机识别技术再升级,AIGC为验证码带来万亿种变化

    Geek_2d6073

    微服务 - 搭建Consul集群服务,Consul配置中心

    Java你猿哥

    Java 架构 微服务 ssm

    开放原子全球开源峰会,全面升级再出发!

    开放原子开源基金会

    开源 软件 创新 峰会 全球

    连续仨月霸占牛客榜首!京东T8呕心巨作:700页JVM虚拟机实战手册

    Java你猿哥

    Java JVM ssm 虚拟机 SSM框架

    一篇文章学透ApplicationContext

    小小怪下士

    Java spring 程序员

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