Bluemix结合DevOps Service实现一键部署
林炳文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实现一键部署的更多相关文章
- 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付
容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...
- 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking
一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...
- windows一键部署java项目
windows一键部署java项目 因为公司需求,要在windows的环境上做一键部署启动java项目,同时还要支持从安装界面动态修改配置文件的IP地址.就像安装软件一样将jdk,tomcat,mys ...
- Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken
项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...
- Git+Gitlab+Ansible的roles实现一键部署Nginx静态网站(一)--技术流ken
前言 截止目前已经写了<Ansible基础认识及安装使用详解(一)--技术流ken>,<Ansible常用模块介绍及使用(二)--技术流ken><Ansible剧本介绍及 ...
- Docker Compose 一键部署Nginx代理Tomcat集群
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...
- ansible一键部署k8s单机环境
一.虚拟机准备 干净的Centsot7.4.4G内存.2个CPU 最小化安装,最好带虚拟化 二.执行初始化脚本 注意:脚本中配置静态网卡根据实际网卡名称配置,我用的是ens33 可以用 sed -i ...
- Docker一键部署Hadoop心得(一)
最近一直在折腾使用docker一键部署全分布式hadoop集群,虽然一键部署的脚本写好了并且可以成功运行出各个节点,但在运行一个wordcount实例时出现了错误,错误如下: java.io.IOEx ...
- 一键部署 Docker Datacenter ---简化docker数据中心安装步骤
DDC 简介 2016年2月下旬,Docker发布了企业级容器管理和服务部署的整体解决方案平台-Docker Datacenter,简称DDC.DDC 有三个组件构成:1. Docker Univer ...
随机推荐
- Java反射1——扫描某个包下的所有类
1.从包package中获取所有的Class /** * 从包package中获取所有的Class * * @param pack * @return */ public static Set< ...
- HDU 6249 Alice’s Stamps
[题目链接] 题目大意: 说有$m$个区间,要求选出不超过$k$个区间,使这些区间覆盖的长度最长,问最长长度是多少. 题解: 所有区间按$R$从小到大排序之后可以进行$dp$. $dp[i][j]$表 ...
- P3512 [POI2010]PIL-Pilots
P3512 [POI2010]PIL-Pilots我一开始打的O(n^2)(最坏情况)的算法.枚举区间长度.60分 #include<iostream> #include<cstdi ...
- JAVA死锁的写法
在java开发中,避免不了要加锁控制程序逻辑,但加锁有可能导致死锁,造成线程永远卡死在等待释放锁,后面的代码得不到执行: 在java里,一般是通过synchronized关键字加锁,在jdk1.5版本 ...
- [lisp] scheme环境搭建与编译运行
搭建环境参考这篇 http://leochin.com/mac-scheme-install/ 用文本编辑器写代码 保存文件格式为 .scm 在终端中cd到scm文件所在文件夹, 执行 (cf &q ...
- 运行程序,解读this指向---case5
function OuterFn() { innerFn = function() { console.log(1); }; return this; } OuterFn.innerFn = func ...
- Android Native层异步消息处理框架
*本文系作者工作学习总结,尚有不完善及理解不恰当之处,欢迎批评指正* 一.前言 在NuPlayer中,可以发现许多类似于下面的代码: //============================== ...
- jquery开发表格插件项目之知识点累积
js设置节点的属性与属性值用setAttribute(),获取节点的属性和属性值用getAttribute(). jquery 中使用attr 就可以获取及设置元素属性. 在设置checkbox状态时 ...
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem I. Plugs and Sockets 费用流
Problem I. Plugs and Sockets 题目连接: http://www.codeforces.com/gym/100253 Description The Berland Regi ...
- ARM汇编编程基础之一 —— 寄存器
ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的? ARM寄存器分为2类,普通寄存器和状态寄存器 寄存器类别 寄存器在汇编中的名称 ...