林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

摘要:本文讲述了怎样通过Bluemix与DevOps Service相结合。来构建与部署一个持续集成的Java Web项目。事实上原理就是将代码放在DevOps Service上。然后提交代码。DevOps Service配置构建作业、部署作业。自己主动将project构建结果推送到个人Bluemix中心。这样每次要在Bluemix上更新应用程序时,我们仅仅需将代码git push到DevOps Service上。然后点击构建、部署button就可以。不用再使用cf push等命令,也用不着在本电脑来登陆bluemix.能够大大提交开发效率。

一、DevOps Service上创建项目

所以须要到https://hub.jazz.net/,注冊一个账号。

并创建一个项目。

步骤例如以下。

输入项目名、类型

选择和Bluemix关联

设置个人Bluemix的空间、组织及项目的一些信息(如是否是私人项目)

之后点击CREATEV就可以。

之后你的注冊邮箱就会收到此项目的信息:

使用git clone 项目网址就可以将项目下载到本地。

打开进入项目,将我们本地的project拉进去,然后使用git add 、git commit、git push依次,将本地项目提交到远程的GIT

然后进入 项目:https://hub.jazz.net/project/bingbing/MyGame/overview

能够看到,代码已提交成功。

当中。JavaHelloWorld这是一个Maven项目

其结构例如以下:

这里须要特别说明下:mainfest.yml是上传project到Bluemix时的配置文件。其内容例如以下:

applications:
- path: target/JavaHelloWorld-0.0.1-SNAPSHOT.war
memory: 512M
instances: 1
domain: mybluemix.net
name: JavaHelloJavaHello
host: javahellojavahello
disk_quota: 1024M

当中javahellojavahello是在Bluemix中创建的Java web项目。创建过程见以下

二、Bluemix创建web项目javahellojavahello

登陆Bluemix

选择Web项目

选择Java项目

依次输入项目名。

最后创建结果例如以下:

三、DevOps Services配置自己主动编译、自己主动部署到Bluemix

打开DevOps Services上的项目。在其主页上点击右上角的BUILD& DEPLOY

创建一个编译作业

先选择GIT项目

这时先不要点击保存:

点击作业。加入作业。选择构建

选择Maven项目,输入构建命令

同理,再创建一个部署作业

依次输入应用程序名,部署脚本等

之后确定保存就可以。

这是最后的结果:

之后点击执行button:

好了。接下去它会自己主动去构建项目,并将项目发部到个人Bluemix上相应的应用程序。之后执行结果成功如上。

也能够点击查看日志和历史记录

然后回到Bluemix,打开仪表板

能够看到这个应用程序已经和Jazz上的项目连接起来了

打开网址:http://javahellojavahello.mybluemix.net/

就可以訪问。

四、创建一键部署button

将以下的代码加入到自己的网页中

<p>
<a target="_blank" href="https://hub.jazz.net/git/Devops项目(如:https://hub.jazz.net/git/bingbing/MyGame)"><img src="https://bluemix.net/deploy/button.png" alt="部署到 Bluemix" /></a>
</p>

这是我的:

结束语:事实上这样的持续部署就像是使用svn/git,然后结合JenKins来实现项目的构建、部署、測试三个过程。

原理都基本上几乎相同。

Bluemix结合DevOps Service实现一键部署的更多相关文章

  1. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  2. 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking

    一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...

  3. windows一键部署java项目

    windows一键部署java项目 因为公司需求,要在windows的环境上做一键部署启动java项目,同时还要支持从安装界面动态修改配置文件的IP地址.就像安装软件一样将jdk,tomcat,mys ...

  4. Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken

    项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...

  5. Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken

    前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...

  6. Docker Compose 一键部署Nginx代理Tomcat集群

    Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...

  7. ansible一键部署k8s单机环境

    一.虚拟机准备 干净的Centsot7.4.4G内存.2个CPU 最小化安装,最好带虚拟化 二.执行初始化脚本 注意:脚本中配置静态网卡根据实际网卡名称配置,我用的是ens33 可以用 sed -i ...

  8. Docker一键部署Hadoop心得(一)

    最近一直在折腾使用docker一键部署全分布式hadoop集群,虽然一键部署的脚本写好了并且可以成功运行出各个节点,但在运行一个wordcount实例时出现了错误,错误如下: java.io.IOEx ...

  9. 一键部署 Docker Datacenter ---简化docker数据中心安装步骤

    DDC 简介 2016年2月下旬,Docker发布了企业级容器管理和服务部署的整体解决方案平台-Docker Datacenter,简称DDC.DDC 有三个组件构成:1. Docker Univer ...

随机推荐

  1. 【Android Studio】为Android Studio设置HTTP代理

    [Android Studio]为Android Studio设置HTTP代理   大陆的墙很厚很高,初次安装Android Studio下载SDK等必定失败,设置代理方法如下: 1. 到androi ...

  2. 多线程学习笔记六之并发工具类CountDownLatch和CyclicBarrier

    目录 简介 CountDownLatch 示例 实现分析 CountDownLatch与Thread.join() CyclicBarrier 实现分析 CountDownLatch和CyclicBa ...

  3. jQuery漏掉的东西

    prop和attr的区别 attr一般都用来设置和操作元素的自定义属性的,而prop一般都是操作元素的内置属性的(尤其是表单元素的操作我们大部分都在使用prop) each 可以遍历jQuery集合中 ...

  4. JSP(Servlet)中从连接池获取连接

    1) 建立连接. 2) 执行SQL. 3) 处理结果. 4) 释放资源. Connection pool:连接池 DataSource: LDAP ( Light directory access p ...

  5. Android-Service和Thread

    Android-Service和Thread 学习自 郭霖的博客 服务是运行在主线程上的 可能在我们第一次接触到Service的时候都是对于 __服务是运行在主线程上的 __这一现象不太理解,但是事实 ...

  6. BZOJ.2456.mode(绝对众数)

    题目链接 \(Description\) 限制空间(只能保留两个变量),求给定n个数中出现次数超过\(\frac{n}{2}\)的数. \(Solution\) 维护两个变量,\(now\)和\(cn ...

  7. BZOJ3518 : 点组计数

    若直线的斜率为0或者不存在斜率,则有$nC(m,3)+mC(n,3)$种方案.若直线的斜率不为0,只需考虑斜率为正的情况,最后答案再乘以2即可.枚举两个点的坐标差,设$t=\min(n,m)$,则有: ...

  8. Springboot 线程池配置

    最近的项目里要手动维护线程池,然后看到一起开发的小伙伴直接用Java了,我坚信Springboot不可能没这功能,于是查了些资料,果然有,这里给一下. 首先我们都知道@Async标签能让方法异步执行, ...

  9. Windows 7重启后USB 3.0无法使用的问题解决

    1.首先对主板USB3.0驱动程序进行重新安装 2.如果驱动程序重装后还是无法解决无法使用USB3.0设备的话,在win7桌面上找到“计算机”图标并鼠标右键,选择“管理”选项,找到设备管理器,然后找到 ...

  10. STM32的CRC32 实现代码 -- Ether

    uint32_t reverse_32( uint32_t data ) { asm("rbit r0,r0"); return data; } ; uint32_t crc32_ ...