• 具体解释 IBM Bluemix 端到端开发体验


    概述

    最近,IBM 公布了公有PaaS 云平台——Bluemix

    IBM Bluemix是一个供开发者在云中高速开发、创建、部署和管理应用程序,而不用关心底层基础架构的地方。

    在实际的使用中,仅仅须要简单的几条命令或者控制台界面的几次点击操作就能轻松的完毕整个应用程序生命周期的管理。IBM Bluemix为开发者和企业用户提供了一整套的应用程序服务,通过与合作伙伴以及开源社区的合作,Bluemix提供了一系列高质量的云计算服务。Bluemix如今差点儿能够提供应用程序整个生名周期所须要的一切服务。这些服务都是所见即所得。仅仅须要简单的几个操作和非常少的工作量就能够高速的增加到应用程序中,帮助并加快应用程序开发和上线,简化运维。


    本文将从一个开发者的角度,重点介绍Bluemix端到端的开发体验,全文会通过一个实际的样例,将Bluemix平台从前端到后台以及各种开发工具串联起来,力争给读者一个完整的全面的端到端体验。


    建议初次接触Bluemix的读者首先阅读笔者的还有一篇文章《初探 IBM Bluemix 带您领略平台云》该篇文章具体介绍了有关Bluemix的基本概念和理论。读完更有利于理解本文下面的内容。

    环境准备及相关账号申请

    1. 申请GitHub账号

    本文用到的应用程序的源代码是托管的GitHub上的,请自行申请GitHub账号,申请地址:https://github.com/

    2. 注冊Bluemix公有云账号

    申请地址:http://www.bluemix.net 在页面右上角点击SIGN UP,填写相关信息提交申请。Bluemix会发一封确认邮件到注冊邮箱,须要手工进入注冊邮箱点击确认。才干成功注冊。

    3. 安装Eclipse

    建议安装4.3.1及以后版本号

    4. 安装CloudFoundry 命令行工具

    通过此工具。能够使用命令行与Bluemix云环境进行交互,參考 http://docs.cloudfoundry.org/devguide/installcf/install-go-cli.html

    5. 安装 IBM Eclipse Tools for Bluemix

    这是一个Eclipse插件,使用这个插件能够在Eclipse里开发应用程序,并将应用程序通过此插件部署到远程的云环境Bluemix上,安装方法是:打开Eclipse。点击Help > Eclipse Marketplace, 在搜索框里搜索“Bluemix”就能够检索到此插件。然后依据提示安装,安装完毕后须要重新启动Eclipse。例如以下图:

    图 1. 安装IBM Eclipse Tools for Bluemix



    6.  安装EGit for Eclipse插件

    通过EGit插件,能够从Eclipse中连接Git仓库,进行代码的托管和团队开发管理。

    安装方法例如以下:打开Eclipse,击Help > Eclipse Marketplace, 在搜索框里搜索“EGit”就能够检索到此插件,依据提示完毕安装就可以。

    7.  克隆应用程序源代码

    本文会用到一个名叫“BlueTrader”的J2EE应用,它是一个模拟股票交易的软件,主要使用JSPServlet实现,后台须要DB2数据库(读者不须要安装,一切都由Bluemix提供),在本文演示过程中。会设计到多个Bluemix提供的执行时和服务。包含Websphere Liberty执行时、数据库服务SQLDBDB2)、弹性伸缩服务Auto-Scaling、日志监控和分析服务Monitoring and Analytics以及用来改动Trace和生成Dump文件的Runtime Management Utility功能等等。除此之外,本文还将演示怎样通过Bluemix 控制台、Eclipse Tools for BluemixIBM DevOps ServicesCloudFoundry 命令行工具与Bluemix进行交互,这些工具或者服务相互补充。共同为开发人员提供了完整而且友好的开发、部署和管理云应用的功能。在实际的开发过程中,读者或许不会同一时候所有使用这些功能,本文将它们集合在一个实例中。力争向读者介绍一个完整的端到端的Bluemix开发体验。下图是本文实例框架图:

    图 2. 演示实例架构图


    请读者使用第一步申请的GitHub账号訪问并登陆BlueTrader 所在的仓库。地址是 https://github.com/acostry/BlueTrader-E2E-Bluemix。点击右上角的“Fork”将BlueTrader克隆到自己工作空间里。

    例如以下图:


    图 3克隆BlueTrader源代码



    初探Bluemix

    在正式開始实例之前,先带大家从整体上了解一下Bluemix,这里主要通过Bluemix 控制台来介绍。Bluemix是一个公有PaaS云平台,用户仅仅须要注冊一个账号以及一个能够联网的浏览器就能使用到Bluemix提供的各种云服务。用户仅仅须要关心和应用相关的内容。而不须要去关心整个IT设施的底层架构。编写少量代码。并使用Bluemix提供的执行时和云服务就能够来组装并执行属于自己的云应用。


    登录Bluemix

    在浏览器中訪问Bluemix全球网站http://www.bluemix.net, 点击右上角的“LOG IN”。输入已经注冊成功的Bluemix账号和password就能登录到Bluemix的控制台,第一次登录成功后的页面时这种:

    图 4首次登录Bluemix控制台



    对于免费用户,Bluemix提供了30天的试用,有2 GB内存能够用来执行应用程序,通常一个J2EE应用默认须要512M内容。Ruby/Go/PHP等须要的会比較少,读者能够依据自己应用的实际情况来分配内存,这些都是能够动态调整的。

    Bluemix控制台介绍

    Bluemix控制台的主页主要包括了下面内容:

    ORGSpace:在Bluemix里以ORGSpace来隔离不同的用户使用空间以及进行权限控制。

    DASHBOARD:用户相应用程序和服务的操作都在这个页面完毕

    CATALOG:具体列出了Bluemix提供的执行时和服务

    PRICING:定义收费相关的信息

    DOCS: Bluemix使用文档

    COMMUNITYBluemix社区,能够提问而且能够Bluemix开发者交流

    REGION:支持在多区域以及多个数据中心使用Bluemix

    除了以上内容。剩下的是相应用和服务的管理以及详细展示。


    高速创建模板应用

    Bluemix的一个特点就是能够高速的创建应用并将应用执行在云的环境里。用户不须要自己搭建不论什么执行时环境,应用所需的执行时以及类似数据库的各种服务都由Bluemix来提供。用户仅仅须要操作几次鼠标就能将一个模板应用执行在Bluemix上。剩下的就是对模板应用进行改动,加入业务逻辑。然后借助Bluemix提供的各种工具。高速的将包括业务逻辑的应用部署到云上,大大加快了应用程序的上线时间。在Bluemix上创建一个应用步骤是:


    1. 登录Bluemix控制台

    2. 在DASHBOARD页面点击CREATE AN APP。页面会跳转至CATALOG页面。我们在这里创建一个执行在Liberty上的J2EE应用。单击选择Liberty执行时。例如以下图:

    图 5选择Liberty执行时


    3. 在具体配置页面,须要为应用设置一个名字以及訪问地址(Host),例如以下图红框所看到的。须要基本的是,须要保证应用程序的訪问地址是唯一的,以防和其它应用的用户产生冲突。点击CREATE


    图 6配置应用信息



    4. 当点击完CREATE后。Bluemix就開始自己主动创建应用并将应用自己主动部署在Liberty执行时上,应用执行所需的一切资源(执行时、JDK、服务)都会被自己主动的创建和配置,等待数秒,创建的应用就执行在Bluemix上了,点击下图的红框处就能訪问刚刚创建成功的应用了。


    图 7应用具体信息



    通过以上几步的操作。用户须要关心不论什么底层架构以及server。执行时等的搭建和配置。仅仅须要关注在应用程序的配置上。就能非常快的将一个J2EE的应用创建并部署在Bluemix上,当然。此时的应用仅仅是一个没有不论什么业务逻辑的模板。仅仅是为了让读者非常快的了解到Bluemix带来的一些变化和便利,我们须要相应用程序进行进一步的开发,加入逻辑,然后再将应用部署在云上,才干完毕应用程序的开发过程。详细的方法是在上图中点击“VIEW QUICK START”会弹出一个帮助窗体。例如以下图:


    图 8QUICK START


    点击“Download the starter application package”下载模板引用的压缩包到本地,然后再倒入到Eclipse里进行本地业务逻辑开发,project结构是:

    图 9. 模板应用project结构


    Eclipse开发/部署应用到Bluemix

    除了上面介绍的在模板应用的基础上开发应用外,大部分的开发者都是从Eclipse里创建或者导入已有project開始进行编程的。在本节中将读者介绍怎样在本地Eclipse中开发和部署应用,并从Eclipse部署应用到云端,这当中须要用到本文之前提到的IBM Eclipse Tools for Bluemix 以及存放在GitHub上的BlueTrader.zip文件。BlueTrader是一个已经开发完毕的应用。读者能够直接部署该应用到Bluemix上。


    导入project到Eclipse

    打开安装完毕的Eclipse。选择 File > Import >General>Existing Projects into Workspace>Select archive file, 选择下载到本地的BlueTrader.zip文件。

    假设出现编译错误,请将Eclipse的编译级别改成1.6或以上(建议1.7)。

    图 10. BlueTraderproject结构


    创建Bluemixserver定义

    要想从Eclipse部署BlueTraderBluemix,须要利用之前安装的Bluemix插件来创建一个Bluemixserver定义

    选择 Window> Show View > Servers 打开Servers 视图

    图 11. 打开Servers视图


     

    Servers空白部分。点击右键。选择 New > Server。并在Servers列表里选中IBM Bluemix

    图 12. 选择IBM Bluemix类型


    点击Next进入IBM Bluemix Account配置页面。输入之前申请的Bluemix账号信息,例如以下图:

    图 13. 配置IBM Bluemix账户


    点击Next,接下来的配置保持默认。完毕Bluemix Server的定义。在Servers 视图里会新增一条Bluemix的定义。

    图 14. IBM Bluemix定义


    关于BlueTrader使用数据库服务的一些说明


    在文章开头介绍BlueTrader的时候提到过,BlueTrader执行是须要后台数据库支持的。该数据库类型是DB2。由Bluemix来提供,要使用这个数据库服务,我们须要在编写代码的时候做一点点工作。当中之中的一个就是确定应用使用数据库服务的方式。在Bluemix里支持两种数据库的使用方式:

    创建数据源的方式

    这样的方式。是用户在代码里定义好使用的数据源。比方BlueTrader定义了一个名为“TradeDataSource”的数据源,当在Bluemix中为BlueTrader绑定数据库服务的时候。须要创建一个相同名字的数据库实例。Bluemix会依据名字将BlueTrader和后台的数据库实例建立关联。这一步非常重要,假设名字不同,那么BlueTrader就会找不到合适的数据库来使用。

    JDBC连接串的方式

    当在Bluemix中为应用程序绑定数据库服务的时候。会同一时候将数据库的连接信息(hostname, dbname, usernamd, password 等)写在一个名为“VCAP_SERVICES”的环境变量里,这就要求用户在程序里使用System.getenv("VCAP_SREVICES") 去读取这些连接信息,然后将这些信息解析出来,拼一个数据库JDBC连接串连接数据库。以下是一个环境变量的样例:

    {

       "sqldb": [

          {

             "name": "TradeDataSource",

             "label": "sqldb",

             "plan": "sqldb_free",

             "credentials": {

                "port": 50000,

                "db": "SQLDB",

                "username": "user00969",

                "host": "75.126.155.153",

                "hostname": "75.126.155.153",

                "jdbcurl": "jdbc:db2://75.126.155.153:50000/SQLDB",

                "uri": "db2://user00969:PLsxUPGyIgAR@75.126.155.153:50000/SQLDB",

                "password": "PLsxUPGyIgAR"

             }

          }

       ]

    }


    BlueTrader使用的是数据源的方式。对于另外一种方式。假设读者有兴趣能够參考Bluemix的文档了解更具体的信息。


    部署BlueTraderBluemix

    部署应用到Bluemix一共同拥有两种方式,第一种是直接拖拽应用名称到Servers 视图里的IBM Bluemix图标。另外一种是在Servers视图里右击IBM Bluemix。选择“Add and Remove”,在弹出窗体的左側选中须要部署的应用,点击“Add”加入到右側的配置框里。

    图 15. 部署应用到Bluemix


    单击“Finish”,会弹出应用的具体配置窗体,首先设置应用的名字,建议用户自行改动,并保证该名字在云上的唯一性,能够避免和其它用户的程序产生冲突。

    图 16. 设置应用名称


    点击“Next”。配置应用部署的信息。基本保持默认就能够

    图 17. 配置应用部署信息


    点击“Next”进入服务配置页面,点击下图红框处能够实时的将服务和应用绑定在一起,比方BlueTrader所需的数据库服务。因为后面我们会演示怎样通过Bluemix控制台绑定服务,所以此处留空。

    图 18. 绑定云服务


    点击“Finish”就会触发部署过程。在EclipseConsole 视图能够看到实时的日志输出,由于眼下Bluemix的数据中心在国外,由于网络原因,所以部署过程会慢一点。大概须要1分钟左右(依赖于网速本身)。

    部署成功以后。会在Servers视图里看到应用的状态:

    图 19. 成功部署BlueTrader


    通过Bluemix控制台创建服务并绑定到应用

    登录Bluemix控制台,在“DASHBORAD”页面,会看到我们刚刚部署成功的BlueTrader

    图 20. Bluemix应用列表


    点击上图红框的位置,进入应用的具体信息页面,点击左側的“Overview”。在右側的页面中能够看到“ADD A SERVICE”和“BIND A SERVICE”,假设之前创建过服务实例,则选择“BIND A SERVICE”去绑定一个已经存在服务,假设没有,则选择“ADD A SERVICE”创建并绑定一个新的服务实例。

    图 21. 应用总览


    点击“ADD A SERVICE”进入服务选择列表,选择DB2数据库服务 Data Management > SQL Database

    图 22. 选择SQL Database服务


    在数据库服务的配置页面,设置服务名称为“TradeDataSource

    图 23. 设置服务名称


    点击“CREATE”,Bluemix会自己主动创建一个数据库实例。并绑定到应用程序上,假设出现“Restage Application”的提示。点击OK,激活数据库服务。

    图 24. Restage应用程序


    訪问并浏览BlueTrader

    等待“Restage”过程结束,点击页面左側的“Liberty for Java”能够看到数据库服务的连接信息,点击Overview  > ROUTES来訪问BlueTrader应用。(或者直接在浏览器输入:http://bluetrader20141218.mybluemix.net/

    图 24. BlueTrader主页



    要使用BlueTrader模拟股票交易,首先须要初始化数据库,创建数据库表并向表里插入一些用来模拟的用户以及股票信息,在BlueTrader主页点击Trading&Portfolio > Populate DB first!


    图 25. 初始化数据库

    等待初始化数据库完毕以后,回到“Trading&Portfolio”页面,点击“Log In”登录BlueTrader,username是:“uid:0, uid:1, uid:2.....” password统一是:“xxx”,登录后进入用户主页面:

    图 26. 用户主页面


    接下来用户就能够模拟股票交易的操作了,在这里就不具体介绍了,有兴趣的读者能够自行操作。

    到此,BlueTrader就已经全然执行在Bluemix上了。


    改动Trace以及生产Dump文件

    在进行问题诊断的时候。TraceDump文件会对问题的解决有非常大帮助,Bluemix提供了图形化的支持来帮助用户改动应用程序的Trace和生成多种Dump文件,详细的用法是:

    回到Bluemix控制台,进入到BlueTrader应用的Overview页面:

    图 27. BlueTrader执行时信息展示


    Instance Details列表里选中要操作的instance,并点击“ACTIONS”button,选择对应的操作,比方DUMP:

    图 28. 选择生成DUMP


    选择要生成的DUMP的类型,点击“GENERATE DUMP”button生成对应的DUMP文件,该DUMP文件能够下载到本地,借助专门的工具进行分析和问题诊断。

    图 29. 生成DUMP文件


    改动Trace的方法和生成DUMP的操作是一致的。读者能够自行尝试改动。

    使用弹性伸缩服务


    弹性伸缩服务(Auto-Scaling)能够依据用户自己定义的策略(内存/Heap/CPU)来自己主动的添加和降低执行时实例的数量。当用户訪问量添加。现有执行时资源处理不了的时候。自己主动的添加实例的数量来添加处理能力,当用户訪问量降低。自己主动的减去不必要的实例数量,节省资源的利用。

    要使用Auto-Scaling服务。首先须要将这个服务绑定到应用上,绑定方法请參照上文介绍的绑定数据库服务的样例。在应用程序Overview页面,点击“Add a Service”。在服务列表中选择“Auto-Scaling”服务:

    图 30. 绑定Auto-Scaling服务


    绑定成功后,Auto-Scaling服务的图标会出如今应用程序的Overview页面:

    图 31. Auto-Scaling服务


    点击上图Auto-Scaling图标进入服务的具体配置页面。在这里用户须要自己定义弹性伸缩的策略。当策略的某一个条件被符合的时候,Auto-Scaling服务就会自己主动的添加或者降低一个或多个执行时实例来满足不同的訪问需求。

    图 32. 设置Auto-Scaling策略


    关于Auto-Scaling的配置又是一个比較复杂的命题,本文的关注点在端到端的开发体验,这部分的内容就不再具体介绍,在兴许的文章里会覆盖这方面的内容,在Bluemix的文档里能够找到具体的描写叙述。

    使用监控和日志分析服务

    Bluemix控制台上能够简单查看关于应用的一些日志,例如以下图所看到的:

    图 33. 查看日志


    可是这些日志显示的内容有限,并且这些日志并非持久化的,当重新启动应用的时候。这些日志会被删除,假设我们想更好的去查看分析日志,并且将日志持久化下来,那么就须要绑定Bluemix提供的监控和日志分析服务(Monitoring and Analytics)。參照上文,在应用程序Overview页面点击“Add a Service”绑定Monitoring and Analytics服务到BlueTrader.

    图 34. 绑定监控和日志分析服务


    相同,在BlueTraderOverview页面。点击Monitoring and Analytics图标。进入到监控和日子分析服务的具体页面,在这里页面里能够查看应用程序的一些状态信息。而且能够相应用进行性能监控和日志分析。

    图 35. 使用监控和日志分析服务


    使用CloudFoundry命令行工具管理云应用

    如果用户已经提前安装好了最新的CloudFoundry的命令行工具,本节来演示怎样通过命令行工具与Bluemix 进行交互,在Bluemix控制台上做的全部事情。都能够通过命令行来取代。


    连接到Bluemix

    打开windows命令行窗体cmd,执行例如以下命令连接到Bluemix上:

     

    C:UsersIBM_ADMIN>cf api https://api.ng.bluemix.net

    Setting api endpoint to https://api.ng.bluemix.net...

    OK

    登录Bluemix

    执行cf login命令,输入之前注冊的Bluemix账号登录:

     

    C:UsersIBM_ADMIN>cf login

    API endpoint: https://api.ng.bluemix.net

     

    Email> bluemix_dev@163.com

     

    Password>

    Authenticating...

    OK

     

    Targeted org bluemix_dev@163.com

     

    Targeted space dev

     

    API endpoint:   https://api.ng.bluemix.net (API version: 2.14.0)

    User:           bluemix_dev@163.com

    Org:            bluemix_dev@163.com

    Space:          dev

     

    登录成功后,读者能够执行 cf -h来获取帮助信息,下文简介几个和应用相关的命令。


    列出Bluemix上执行的应用

    使用 cf apps 列出Bluemix上已经部署的应用:

     

    C:UsersIBM_ADMIN>cf apps

    Getting apps in org bluemix_dev@163.com / space dev as bluemix_dev@163.com...

    OK

     

    name                 requested state   instances   memory   disk   urls

    BlueTrader20141218   started           1/1         512M     1G     BlueTrader201

    41218.mybluemix.net

    j2ee-csdn            started           1/1         512M     1G     j2ee-csdn.myb

    luemix.net

     

    前文已经在Bluemix上部署了两个应用,如上所看到的。


    部署应用到Bluemix


    使用 cf push命令,能够从命令行部署应用到Bluemix。这里还以BlueTrader为例,因为上文中已经部署过BlueTrader,所以假设我们同样的应用名称再次部署的话,Bluemix会用新的war去更新已经存在的部署。所以,更新应用和部署应用事实上是一条同样的命令。

    为了看出这样的区别,我们对BlueTrader进行一些改动:

    打开Eclipse,编辑BlueTrader > WebContent > topBanner.html 对该文件做例如以下改动:

    改动“BlueTrader”为“BlueTraderCMD

    图 36. 改动BlueTrader


    保存改动,并将改动好的BlueTrader应用导出成BlueTraderCMD.war到本地。

     

    使用例如以下命令去部署并更新我们之前已经部署好的BlueTrader应用。

    (注意应用的名字要上文用到的保持一致)

     

    C:UsersIBM_ADMIN>cf push BlueTrader20141218 -p C:A_WorkspaceBlueTraderCMD.war

     

    Updating app BlueTrader20141218 in org bluemix_dev@163.com / space dev as bluemi

    x_dev@163.com...

    OK

     

    Uploading BlueTrader20141218...

    Uploading app files from: C:A_WorkspaceBlueTraderCMD.war

    Uploading 1.2M, 203 files

    Done uploading

    OK

     

    Stopping app BlueTrader20141218 in org bluemix_dev@163.com / space dev as bluemi

    x_dev@163.com...

    OK

     

    Starting app BlueTrader20141218 in org bluemix_dev@163.com / space dev as bluemi

    x_dev@163.com...

     

     

    -----> Liberty Buildpack Version: v1.9-20141202-0947

    -----> Retrieving IBM 1.7.1 JRE (ibm-java-jre-7.1-1.0-pxa6470_27sr2ifx-20141115_

    01-sfj.tgz) ... (0.0s)

    -----> Retrieving App Management Agent 1.0.0_master (com.ibm.ws.cloudoe.app-mgmt

    -liberty.zip) ... (0.0s)

    -----> Retrieving com.ibm.ws.liberty-2014.11.0.0-201412020947.tar.gz ... (0.0s)

    -----> Retrieving and installing client jar(s) from com.ibm.ws.icap.clientJars.d

    b2.zip (0.0s)

    -----> Auto-configuration is creating config for service instance 'TradeDataSour

    ce' of type 'SQLDB'

    -----> Liberty buildpack is done creating the droplet

    -----> Uploading droplet (122M)

     

    0 of 1 instances running, 1 starting

    1 of 1 instances running

     

    App started

     

     

    OK

     

    App BlueTrader20141218 was started using this command `.liberty/initial_startup.

    rb`

     

    Showing health and status for app BlueTrader20141218 in org bluemix_dev@163.com

    / space dev as bluemix_dev@163.com...

    OK

     

    requested state: started

    instances: 1/1

    usage: 512M x 1 instances

    urls: BlueTrader20141218.mybluemix.net

    last uploaded: Fri Dec 19 05:15:19 +0000 2014

     

         state     since                    cpu    memory           disk

    #0   running   2014-12-19 01:16:17 PM   0.5%   102.9M of 512M   166.8M of 1G

     

    在浏览器中訪问BlueTrader,或者刷新之前打开的BlueTrader主页,能够再主页的最上方看到对BlueTrader的改动已经生效。

    图 37. 更新后的BlueTrader


    假设用户想了解很多其它的cf 命令的使用。能够參考cf命令行的相关文档进行学习。

    使用DevOps服务来简化运维和加速应用程序的开发

    DevOps服务是Bluemix平台提供的服务之中的一个。主要用来简化应用程序的运维。代码托管。以及通过一些工具来加速应用程序的上线和更新。用法是:第一。能够通过在Bluemix控制台绑定服务的方式来使用;第二,訪问DevOps网站,创建应用程序的仓库并上传应用代码到应用仓库,而且做一些配置和Bluemix进行关联。

    另外一种方法更符合开发者的使用习惯,所以在这里重点介绍另外一种方法。


    登录DevOps服务

    使用前文Bluemix的账户能够直接登录DevOps服务,网址是:https://hub.jazz.net/

    点击SIGN IN > Sign in with your IBM id 使用Bluemix账号和password登录,第一次登录会提示创建一个新的Jazz ID, 随意输入唯一username,点击“Create

    图 38. 创建Jazz ID


    创建新project

    DevOps服务主页点击“Start coding”创建一个新的project(仓库):

    图 39. 创建新project


    在新project配置页面,做例如以下配置:

    project名称:BlueTrader

    Code site: Create a Git repository

    选中“Private”“Add features for Scrum development”以及“Deploy to Bluemix”。点击“CERATE”。例如以下图所看到的:

    图 40. 配置DevOpsproject一


    图 41. 配置DevOpsproject二


    创建成功以后。Bluemix账号的注冊邮箱里会收到一封信。内容是关于新创建project的,由于我们创建的是一个Git仓库,请读者自行依据信里关于Git的描写叙述,利用EGit插件或者Git命令行工具,将我们在Eclipse里开发的BlueTrader的代码上传到创建的DevOpsproject里。假设不了解Git的用法。能够參考学习:https://hub.jazz.net/docs/reference/gitclient/

    当成功上传代码到DevOps服务以后。打开新创建的BlueTraderproject的主页面,能够看到上传成功的代码:

    图 42. 提交BlueTrader源代码到DevOps服务


    配置BUILD & DEPLOY

    要想从DevOps部署BlueTraderBluemix,须要做一些配置,点击上图中的BUILD&DEPLOY,在弹出的页面上点击ADVANCED进入配置页面

    图 43. 配置BUILD & DEPLOY


    点击“add a builder”为BlueTrader应用设置一个构建程序。在这里我们选用Ant做为构建工具。依据我们的project名称。參照下图配置。DevOps会自己主动生成用户构建应用使用的build.xml文件。

    图 44. 加入Builder


    接下来,须要加入一个stage。用来配置一些应用程序在部署时的属性,点击“add a stage”进入配置页面,在这个页面里,除了要配置Bluemix的信息外,还要指定和部署应用相关的信息,我们不准备部署一个新的BlueTrader。由于在上文已经部署过一个。所以在这里我们把“Application Name”设置为上文部署的应用的名称,并对“Script”做了一点改动。假设读者还想对部署应用有很多其它的设置,比方还想为应用程序分配内存,或者部署的时候部署多个实例,能够改动“Script”或者在应用程序根文件夹加入一个manifest.yml文件来指定。详细的细节请參照相关链接学习。

    图 45. 加入Stage


    点击“SAVE”完毕配置工作。回到“BUILD&DEPLOY”主页面,例如以下图。能够看到我们刚刚做的配置。 而且DevOps服务自己主动检測到我们之前部署的同名的BlueTrader应用。并将其状态展示在stage列表里。

    这时能够点击“REQUEST BUILD”相应用程序进行自己主动构建,当构建好应用安装包后,DevOps服务会依据stage配置,自己主动将新的安装包更新部署到Bluemix上。

    图 46. REQUEST BUILD and DEPLOY


    打包加部署过程大概须要1-2分钟,部署成功后。能够訪问BlueTrader进行验证。


    在浏览器中调试代码并将更改实时更新到Bluemix


    DevOps服务还提供了一个基于浏览器的IDE,支持用户在浏览器里调试代码。加上我们上文配置的自己主动部署功能,用户对代码的改动能够实时的更新到Bluemix,这一切工作都能够通过浏览器来完毕。也就是说,用户不必随身携带笨重的电脑,是须要一个能够支持浏览器的移动设备(手机或者平板电脑灯)就能够完毕代码的改动和应用程序的部署了。

    点击BlueTrader代码仓库页面右上角的“DEIT CODE”进去基于浏览器的IDE,在这里演示怎样改动一个HTML页面。而且展示这个改动怎样实时的自己主动的更新到Bluemix上。还记得我们上文改动过的topBanner.html文件吧,在这里我们相同改动这个文件,改动例如以下:

    图 47. 在浏览器中改动BlueTrader


    当改动完毕后。DevOps会自己主动保存改动,此时的改动并没有完毕提交。点击左側的“Git”button,进入代码改动提交页面,在这个页面。能够看到代码改动的具体信息。

    图 48. 提交改动页面


    要想完毕代码提交,须要完毕两步操作:第一,在工作文件夹更改窗体,输入落实信息,并选择要落实的文件,点击右上角的“落实”;第二,点击“落实”后。新的提交会显示在左側“传出”窗体,点击“推送”完毕提交。

    图 49. 完毕代码提交一


    图 50. 完毕代码提交二


    推送完毕后,马上点击右上角的“BUILD&DEPLOY”button。能够看到DevOps服务检查到了我们的提交,并立马运行构建程序。生成新的安装包,然后自己主动触发部署程序将新的安装包部署更新的Bluemix上(这个自己主动的过程是能够取消的,在配置BuilderStage页面设置),例如以下图红框所看到的:

    图 51. DevOps服务自己主动构建并部署应用


    等待部署完毕后。点击应用程序BlueTrader的訪问链接。得到最新的改动版本号。例如以下图:

    图 52. 再次更新后的BlueTrader


    从上图能够验证,通过浏览器IDE的改动已经生效并执行在Bluemix云平台上了。

    总结

    通过上文的介绍。相信读者对Bluemix端到端的开发和使用有了一个比較具体的了解,因为篇幅有限,非常多的细节都没能一一介绍。读者能够通过留言或者邮件的方式寻求帮助,也能够自行查看Bluemix相关的文档学习。


    通过这篇文章的介绍。能够看出Bluemix确实对传统的软件开发、部署以及运维进行了一些创新性的改变,特别是给程序猿开发应用带来了非常多便利,程序猿能够把很多其它的精力放在应用逻辑代码的开发上,而不用分心诸如执行时环境搭建。后台服务配置等等这些琐碎的事情上。可是同一时候也要看到。Bluemix在平台云这条道路上才刚刚起步,有非常多不够完好的地方,还有非常多的工作须要完毕。希望本文能够做为一个引子,帮助大家去了解平台云给软件开发带来的变化,共同去推进云计算,特别是公有平台云健康发展。


    眼下。公有云平台的厂商越来越多,竞争也越来越激烈,国内有阿里云,国外有亚马逊、微软、谷歌等,这些厂商提供的公有云平台各有利弊,笔者做为IBM Bluemix从业人员。不要探讨这些产品利弊。在这里仅仅想谈谈Bluemix的优势,一家之言。仅供參考,欢迎大家讨论赐教,指出不足。Bluemix的长处能够总结为:

    • 依赖与IBM广泛的软件产品。Bluemix将这些产品(比如:Watson)以服务的形式整合在云平台上。用户能够非常方便的使用。这些服务所见即所得。能够非常好的支撑用户的业务发展。
    • Bluemix底层是Softlayer。提供企业级的安全保障
    • Bluemix最近推出了除了公有云版本号之外的“企业专有版”(Dedicated Bluemix)。适用于那些对安全问题要求比較高的用户
    • 支持多种开发工具(桌面IDE以及浏览器开发等)

    扫描二维码关Learning Bluemix!

    欢迎关注 LearningBluemix! 该订阅号会定期公布学习 IBM 下一代云计算平台 Bluemix 的心得、收获、体会以及对相关云平台或者云计算技术的理解。


    作者介绍

    朱修磊。IBM 软件project师,眼下从事IBM 共同拥有平台云Bluemix相关的工作。您能够通过 xiuleizh@cn.ibm.com 与其联系。

    GitHub: https://github.com/acostry

    技术博客:https://www.ibm.com/developerworks/community/blogs/acostry/?lang=en

    Weibo: @acostry

    Twitter: @acostry

  • 相关阅读:
    Java Servlet API中文说明文档
    JavaWeb学习总结(一)——JavaWeb开发入门
    Android ListView滑动底部自动加载更多
    Android TextView 手动上下滑动
    Android抽象布局——include、merge 、ViewStub
    Android 信鸽推送通知栏不显示推送的通知
    Twitter License for Android
    Uber License for Android
    Android Studio之build.gradle小技巧
    Android动画之硬件加速
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6903650.html
Copyright © 2020-2023  润新知