OpenShift是红帽的云开发平台即服务(PaaS)。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序,并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架,如Java,Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用,数据库服务等,提供支持。
OpenShift Online服务构建在Red Hat Enterprise Linux上。Red Hat Enterprise Linux提供集成应用程序,运行库和一个配置可伸缩的多用户单实例的操作系统,以满足企业级应用的各种需求。
 
以上的内容,百度百科里面都能看到。关键的,可以免费部署一个 JAVA 应用(还有其他语言,php,python 等),要知道在天朝java 、python的部署环境还是不便宜的。
 
据说 V2时代可以免费部署3个。WTF
 
 

扯淡完毕。  现在注册 openshift 基本都直接是 V3版本了。  我也比较推荐 V3 版本。毕竟将自己的项目部署到网络中是不区分新手,老手,高手的,也就是说不需要您命令行敲的棒棒棒棒棒。。。。的,也能部署应用到网络中。V3版本基本全视图化了,操作起来也比较方便。文档也很全面,官方 github 上也有很多各语言的 quickstart 项目。
 
 
开始了.
 
一、 创建项目
 
1. 注册账号(跳过)
 
 
2. 选择 1个免费的服务器环境
  服务器地址只能选择美国,东海岸,西海岸,XXX(还有个忘记了)随便选一个
 
3. 创建项目
  点击“open web console”
 
4. 选择 Langauge -> Java -> RED HAT JBOSS 
  • 您也可以选择其他语言
  • 您也可以选择其他容器
 
5. 配置容器
  1. 项目的名称,只能字母+数字
  2. 项目别名
  3. 项目说明
  4. 应用名称
  5. 应用的 git 仓库地址,推荐使用 github,这里也是以 github 为例。

获取 github 项目地址。方法如下:

  如果你是初次搭建,建议用这个哥么搭建的一个 oenshift java-web demo

  Github 地址:https://github.com/OpenShiftDemos/os-sample-java-web

  仓库地址 : https://github.com/OpenShiftDemos/os-sample-java-web.git

  把仓库地址,复制到 Git Repository 中。

6. 到第三部,可以直接关闭,也可以等待一下,当出现"successfully"表示项目创建成功。

关闭窗口,你会看到右侧已经有一个项目创建好了。


二、 部署项目&Github 代码自动更新
 
默认情况下,项目创建后基本就已经部署成功了。
点击 web console 里的项目,我们就可以进入项目的管理界面了。
 
1. 界面菜单说明
 
  Overview 项目的基本概况
  Applications 应用程序选项,主要是对整个应用程序的管理。包含 Deployments(部署)、Pods(容器,应该是这个意思)、Services(服务)、Router(路由)
  Builds 编译或者构建,主要是针对您源代码的管理。包含 Builds(编译或者构建)、Images(镜像管理)
  
  其他的菜单就是监控,存储,安全,用户等了。自己摸索或参考文档即可。
  
2. openshift 是如何工作的
 
 
  主要分为以下2个部分

  2.1 更直白点说

    1. 从 github 上下载代码(首次,有更新)

    2. 会创建一个新的 build 。(bulids 菜单里面可以看到列表)

    3. build 后,会替换掉现有的 image 内容。

    4. 将image 进行 deployment(部署)

    5. 将 deployment 的内容放在 pod(容器)中,提供 service 服务。

  2.2 级阶段,我们只需要关心

    1. github 代码自动同步

    2. build 是否成功

    3. deployment 是否成功

    4. pod 启动是否成功

    以上内容在对应的菜单都有列表可以查看。

3. 需要注意的地方

  3.1 build 只能有一个执行

    当您新建 bulid 是,要观察列表中是否有 状态为 “pending”、“runing” 的,如果有,请先关闭它,再执行新的 build

  3.2 bulid 分支版本

    build 支持分支版本,或者某一次的提交作为初始版本,如果不选择,默认为 master

    选择菜单 builds->builds ,选择列表中的项目名。  进入项目的历史 build 页面。 点击“Actions”,选择 edit

    选择 显示高级选项

    

    Git Reference 提示也说了,可以指定 branch、tag、commit 作为此次编译的参考

    Context Dir ,这个目录就是你需要发布的内容目录了,默认情况下就是/根目录,但是如果你的 GitHub 像

    官方提供的java-quickstart 这样,是包含了多个 Project 的。那么你就要选择一个目录作为你这个应用程序的 Project

    

    举例来说:我要发布java-quickstart 中的 tomcat-websocket-chat 。并且为 branch 1.2 这个版本的。

    Git Repository URL : https://github.com/liuqi0725/openshift-quickstarts

    Git Reference : 1.2

    Context Dir : tomcat-websocket-chat    

    

   3.3 头疼医头,脚痛医脚。

    发布过程,可能会出现 build 失败,deployment失败, pods 失败。

    build 成功的标志“complate”状态, depoyment 成功标志“Active”状态,pod 成功标志“Running”状态,并且Containers Ready 为 “1/1”

    以上3个内容,均在对应的菜单查看。

    那个环节失败了,点击进入进行重新的 build、deply

4. 使用 webhook 自动关联 github 代码变更

  4.1 选择菜单 builds -> builds ,点击 porject name 进入 project 的build 历史。 选择顶部 tab 的 Configuration. 复制 webhook url

    

  4.2 打开 github 您的项目,选择 setting ,选择 webhook

   

    成功后,应该是一个绿色的正确标志。

    

 

 

OPENSHIFT V3 免费部署 Java-Web的更多相关文章

  1. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  2. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  3. 【转】Tomcat中部署java web应用程序

    http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...

  4. 在Tomcat中部署Java Web应用程序

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

  5. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  6. 部署Java Web项目报错(一)

    今天,我在部署Java Web项目时,出现错误,并且在eclipse新建一个servers,却出现多个项目. 具体错误截图如下: 然后,我又将项目部署到JBoss服务器中,却还是运行不成功 22:12 ...

  7. dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器

    # dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器 #环境centos 7.4 docker 18.03.0-ce # nuxus,创建maven本地源(可 ...

  8. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...

  9. CentOS6.5中部署java web环境

    原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安 ...

随机推荐

  1. [转载] MapReduce工作原理讲解

    转载自http://www.aboutyun.com/thread-6723-1-1.html 有时候我们在用,但是却不知道为什么.就像苹果砸到我们头上,这或许已经是很自然的事情了,但是牛顿却发现了地 ...

  2. CLR类型设计之泛型(一)

    在讨论泛型之前,我们先讨论一下在没有泛型的世界里,如果我们想要创建一个独立于被包含类型的类和方法,我们需要定义objece类型,但是使用object就要面对装箱和拆箱的操作,装箱和拆箱会很损耗性能,我 ...

  3. 设计模式的征途—21.迭代器(Iterator)模式

    我们都用过电视机遥控器,通过它我们可以进行开机.关机.换台.改变音量等操作.我们可以将电视机看做一个存储电视频道的集合对象,通过遥控器可以对电视机中的频道集合进行操作,例如返回上一个频道.跳转到下一个 ...

  4. 如何实现 Service 伸缩?- 每天5分钟玩转 Docker 容器技术(97)

    上一节部署了只有一个副本的 Service,不过对于 web 服务,我们通常会运行多个实例.这样可以负载均衡,同时也能提供高可用. swarm 要实现这个目标非常简单,增加 service 的副本数就 ...

  5. 学习MySQL(下)

    具体实例 22.MySQL ALTER命令 当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令. 1.如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使 ...

  6. 十一、Hadoop学习笔记————数据库与数据仓库

    数据仓库是集成的面向主题的数据库的集合 面向主题主要是宏观上解决某一类问题,集合性指数据集 数据库主要处理用于事务处理,数据仓库用于分析处理,数据库适用于操作型数据,便于增删改查, 数据仓库则用于挖掘 ...

  7. Jquery基础知识01

    1:$(document).ready()function{}和window.onload()的区别.   1:$(document).ready()function{} 该方法等到Dom结构绘制完毕 ...

  8. openstack Keystone验证服务集群

    #Keystone验证服务群集 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Keystone验证服务集群 ...

  9. springboot集成swagger

    对于搬砖的同学来说,写接口容易,写接口文档很烦,接口变动,维护接口文档就更更更烦,所以经常能发现文档与程序不匹配. 等过一段时间就连开发者也蒙圈了 Swagger2快速方便的解决了以上问题.一个能与S ...

  10. C# 使用Task实现任务超时,多任务一起执行

    简介:充分使用Task的异步功能代码实现:1.实现了任务超时 退出任务 2.多个任务一起执行 /// <summary>        ///做事 需要 ms秒 才能完成        / ...