ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

写一个Spring程序推送到Cloud Foundry,并尝试从外部访问

2019-12-11 19:04:23  阅读:593  来源: 互联网

标签:mf mindsphere Spring Foundry cf api test rexel Cloud


尝试内容:

自己编写一个后台程序,尝试推送到Cloud Foundry上,并开放从MindSphere以外访问的权限。

程序实现以下功能:

1、使用MindSphere提供的API获得指定时序的Token

2、启动定时任务,从时序数据中拉取数据,并打印在日志中。

3、提供一个REST接口,用来获取数据。

4、程序开启log日志,打印到Cloud Foundry的容器中。

 

前提条件:

1、电脑已经安装Power Shell。

2、提前编写好要测试的程序。

3、拥有MindSphere的Developer账号。

 

操作随记:

(一)编写程序

程序地址:https://github.com/quchunhui/demo-macket/tree/master/mindsphere

 

(二)登陆Cloud Foundry

Cloud Foundry的登陆,可以参考上一篇博客。

博客地址:https://www.cnblogs.com/quchunhui/p/12015167.html

 

(三)创建CF空间并赋予权限

1、切换到已有组织(org),相关命令如下:

切换组织:cf target -o rexelcn0

 

 

 

2、创建测试程序的运行空间(space),相关命令如下:

创建空间:cf create-space rexel-mf-api-test 

查看所有空间:cf spaces

 

 

 

3、更新空间的Role(角色)及Permission(权限),相关命令如下:

查看Space中的使用者及其权限:cf space-users rexelcn0 rexel-mf-api-test

 

 

 

 

附加:

如果希望使用其他账户完成后续的操作,可以使用一下命令来添加权限。

为指定用户添加SpaceManager权限:cf set-space-role chunhui.qu@rexel.com.cn rexelcn0 rexel-mf-api-test SpaceManager

为指定用户添加SpaceDeveloper权限:cf set-space-role chunhui.qu@rexel.com.cn rexelcn0 rexel-mf-api-test SpaceDeveloper

 

 

 

(四)将应用程序部署到Cloud Foundry

1、在程序根目录中创建manifest.yml文件

文件内容如下:

---
applications:
- name: rexel-mindsphere-api-test
  instances: 1
  random-route: true
  path: target/rexel-mindspere-api-0.0.1.jar
  memory: 512M  

  

2、将程序推送到CF的空间,相关命令如下:

跳转入Spaces:cf target -s rexel-mf-api-test

跳转到程序根目录:cd D:\MyWork\22_Github\rexel-cn\rexel-jarvis\rexel-mindsphere-api

推送程序:cf push

列出所有应用及运行状态:cf apps

查看应用的详细状态:cf app rexel-mf-api-test

 

 

 

【小插曲1】

执行cf push的时候报错一个错误

 

 

在程序根目录中使用mvn package重新编译打包,然后再次执行cf push之后问题解决。

 

【小插曲2】

程序上传之后,cf提示启动失败

 

 

 

按照提示的命令查看了日志。命令:cf.exe logs rexel-mindsphere-api-test --recent

可以看到提示内存不够。

 

 

 

尝试将manifest.yml中配置的内存大小调高,重新推送之后解决。修改之后的manifest.yml文件内容

---
applications:
- name: rexel-mindsphere-api-test
  instances: 1
  random-route: true
  path: target/rexel-mindspere-api-0.0.1.jar
  memory: 1G 

  

 

 

 

(五)SSH进入到空间查看运行

官网操作手册:https://developer.mindsphere.io/zh/paas/paas-cloudfoundry-ssh.html

 

 

1、检查空间SSH是否开启

命令:cf space-ssh-allowed rexel-mf-api-test

2、开始指定空间SSH权限:

默认是开启的,如果没有开启,可以使用以下命令打开权限。

命令:cf allow-space-ssh rexel-mf-api-test

3、为应用开启SSh权限:

命令:cf enable-ssh rexel-mindsphere-api-test

注意不要弄错了空间名(rexel-mf-api-test)和应用名(rexel-mindsphere-api-test)

4、重新启动应用:

命令:cf restart rexel-mindsphere-api-test

5、SSH进入应用空间:

命令:cf ssh rexel-mindsphere-api-test

 

6、进入日志所在路径:

在spring程序的logback中,配置的日志路径为:/home/vcap/logs

进入路径:cd /home/vcap/logs/

 

 7、查看日志是否正常:

命令:less rexel-md-test2019-12-11.log

 

 

 

Cloud Foundry

标签:mf,mindsphere,Spring,Foundry,cf,api,test,rexel,Cloud
来源: https://www.cnblogs.com/quchunhui/p/12024493.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有