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 ...
随机推荐
- Linux常用包的安装
下面列出的这些包都有很强大的功能,也是非常实用常用的工具 gcc yum -y install gcc GNU编译器套件(GNU Compiler Collection) gcc-c++ yum -y ...
- linux 安装redis4.0
1.安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 1 2 3 4 5 6 7 8 9 ...
- 【转】HTML5 API——无刷新更新地址 history.pushState/replaceState 方法
(window.location)在通过JavaScript更改以后,浏览器都会通过刷新来到达你更改后的URL(location的意思就是位 置..) 而在JavaScript MVC开始流行之后,通 ...
- 给虚拟机下面的ubuntu系统增加硬盘存储空间
给虚拟机下面的ubuntu系统增加硬盘存储空间 由于ubuntu系统是安装在vsphere上面的,所以可能会和vmware上面的有一点区别,打开exsi系统的配置页面,如下图所示. 选择添加存储器 ...
- priority_queue<int>q;
priority_queue<int>q;//默认不递增q.size();//q中有几个元素q.pop();//删除队首q.top();//返回队首元素q.push();//在队列中插入一 ...
- SQL server学习(一)数据库的基本知识、基本操作和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- Ubuntu 18.04 安装 virtualbox
1.安装包下载地址 [https://www.virtualbox.org/wiki/Linux_Downloads] 2.进入软件包的文件夹 sudo dpkg -i 安装包的名字.deb [注]如 ...
- 让nginx支持HLS
准备工作: 1.安装nginx和rtmp模块 2.安装ffmepg(用来推流) 以上准备工作参见这篇博客:http://www.cnblogs.com/damiao/p/5231221.html 1. ...
- poll() can't detect event when socket is closed locally?
from https://stackoverflow.com/questions/5039608/poll-cant-detect-event-when-socket-is-closed-locall ...
- ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积02, 在界面实现
在"ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积01, 在控制台实现"中,在控制台应用程序中实现了属性值的笛卡尔乘积.本篇在界面中实现.需要实现的大致如下: 在界面 ...