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. JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)

    一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...

  2. 初生牛犊不怕虎 golang入坑系列

    读前必读,下面所有内容都是来自这里. 放到这里的目的,就是为了比对一下,哪里的读者多.平心而论,同样的Markdown,博客园排版真心X看,怎么瞅怎么X看.(X := '难' || X :='耐' | ...

  3. 使用PHP文件锁写一个多个请求同时并发写入一个文件,要求不脏读、数据不丢失

    使用PHP文件锁写一个多个请求同时并发写入一个文件,要求不脏读.数据不丢失. //并发文件操作 function filehandle($filename,$data){ $start = 0; $e ...

  4. 关于SQLServer数据库中字段值为NULL,取出来该字段放在DataTable中,判断datatable中该字段值是否为NULL的三种方法

    1. DataTable dt;                               //假设字段为name, dt已经保存了数据dt.rows[0]["name"] == ...

  5. Winwos Server 2012发布ASP.NET MVC5 项目

    一.本文实验环境: Windows Server 2012 R2 Visual Studio 2015 项目为:ASP.NET MVC 5.0,使用的是SQL SERVER 2008 R2数据库 二. ...

  6. 软件测试管理QC

    一.QC简介 1)是HP公司的产品,是B/S结构的产品 2)在QC服务器中,打开IE浏览器,在地址栏中输入QC服务器的网址或者IP地址. 查看虚拟机的IP地址: 本地连接-属性-TCP/IP协议(重点 ...

  7. mysql优化sql语句的方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  8. yum中$releasever、 $basearch等变量含义

    [root@kickstart ~]# rpm -qf /etc/redhat-release centos-release--4.1708.el7.centos.x86_64 yum中的$relea ...

  9. 【Java入门提高篇】Day6 Java内部类——成员内部类

    内部类是什么,简单来说,就是定义在类内部的类(一本正经的说着废话). 一个正经的内部类是长这样的: public class Outer { class Inner{ } } 这是为了演示而写的类,没 ...

  10. 揭秘传智播客班级毕业薪资超7k的内幕系列 之三 ----国企慕名而来,将未毕业学员“抢走”,传智播客又一次定义“被就业”

    前面文章提及Java六期学员张同学提前就业某国企,入职薪资6.3k,各种福利齐全.作为班级首位就业同学,他的就业也成为了班级其它同学就业的风向标.但事实上张同学的就业属于"被就业" ...