G.系列导航

【G】开源的分布式部署解决方案 - 导航

设置项目部署流程

项目类型:选择Console,这个跟功能无关,只是做项目分类,后面会有后续功能

宿主:选择Console

部署方式:选择原始,目前部署Console只支持原始部署方式

宿主属性:格式以宿主属性前面的问号给的为准

控制负载均衡

保证你已经设置项目属性里面的负载均衡值,以及服务器的标识

增加了部署环境标签,可以查看与当前项目环境相关的服务器,然后对每台服务器进行设置权重。

跳转到持续集成控制台

当持续集成Build失败时,往往我们需要进到持续集成控制台查看Build信息,已便快速定位问题。

查看构建状态界面,增加控制台按钮,可以直接跳转到当前Job的控制台界面,目前只支持Jenkins。

小坑锦集

32位进程无法访问64位进程模块

  1. public void Kill(string filePath)
  2. {
  3. var wmiQueryString = "SELECT ProcessId, ExecutablePath, CommandLine FROM Win32_Process";
  4. using (var searcher = new ManagementObjectSearcher(wmiQueryString))
  5. using (var results = searcher.Get())
  6. {
  7. var query = from p in Process.GetProcesses()
  8. join mo in results.Cast<ManagementObject>()
  9. on p.Id equals (int)(uint)mo["ProcessId"]
  10. select new
  11. {
  12. Process = p,
  13. Path = (string)mo["ExecutablePath"],
  14. CommandLine = (string)mo["CommandLine"],
  15. };
  16.  
  17. foreach (var item in query)
  18. {
  19. if (filePath == item.Path)
  20. {
  21. item.Process.Kill();
  22.  
  23. item.Process.WaitForExit();
  24. }
  25. }
  26. }
  27. }

通过System.Management命名空间下的 ManagementObjectSearcher 来获取应用程序路径,然后Kill。

这段代码源自部署Console时需要先kill process。不使用process name是因为我们的业务场景同一个程序会根据参数不同部署多个目录运行Job,如果按照process name就比较麻烦。按照目录则可以给每个目录设定为一个项目,根据项目的边界进行管理。

文件XX正由另一进程使用

这个异常出现在部署过程中,解压缩覆盖时。

由于覆盖前已经调用 Process Kill 来杀死进程,但实际并只是发了一个Kill的命令,而并没有等待真正Kill结束。所以在上面Kill的代码片段内,Kill后加了一个 WaitForExit 来等待进程结束。

【G】开源的分布式部署解决方案文档 - 部署Console & 控制负载均衡 & 跳转持续集成控制台的更多相关文章

  1. 【G】开源的分布式部署解决方案文档 - 使用手册

    G.系列导航 [G]开源的分布式部署解决方案 - 导航 已知问题 导航没有联动 因为权限只是做了基础的登录校验,考虑到后面导航要跟权限关联上暂时是写死的. 只有部分界面使用了Vue.js 因为刚开始没 ...

  2. 【G】开源的分布式部署解决方案文档 - 手动安装

    G.系列导航 [G]开源的分布式部署解决方案 - 导航 序言 因各种原因,决定先写使用文档.也证明下项目没有太监.至于安装过程复杂,是因为还没有做一键安装,这个现阶段确实没精力. 项目进度 (点击图片 ...

  3. 【G】开源的分布式部署解决方案文档 - Web Deploy

    G.系列导航 [G]开源的分布式部署解决方案 - 导航 微软官方部署方式 右键项目->发布 这个大家应该再熟悉不过,在部署前有个预览界面可以看本次更新到底更新哪些文件. 既然它可以预览部署结果, ...

  4. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  5. ORA-01578和ORA-26040--NOLOGGING操作引起的坏块-错误解释和解决方案(文档ID 1623284.1)

    ORA-01578和ORA-26040--NOLOGGING操作引起的坏块-错误解释和解决方案(文档ID 1623284.1) (一)NOLOGGING操作引起的坏块(ORA-01578和ORA-26 ...

  6. Redis的部署使用文档

    Redis的部署使用文档   简述: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符 串).list(链表).set( ...

  7. C#开源组件DocX处理Word文档基本操作(二)

    上一篇 C#开源组件DocX处理Word文档基本操作(一) 介绍了DocX的段落.表格及图片的处理,本篇介绍页眉页脚的处理. 示例代码所用DocX版本为:1.3.0.0.关于版本的区别,请参见上篇,而 ...

  8. Jenkins代码自动部署相关文档

    环境 centos 7.0+ Java JDK 1.8+ jenkins 2.220 maven 3.0+ git 1.8+ 注意事项 一. linux 安装 JDK (jdk-8u201-linux ...

  9. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

随机推荐

  1. 如何用PHP做到页面注册审核

    用户注册后就有该条用户记录,你对用户表设一个"审核状态"字段,默认值设为"未审核",然后你写几句审核代码做成一个功能,按照你们的意愿若审核通过你把审核状态改为& ...

  2. 每天一个linux命令(38)--lsof 之FD文件描述符

    一般lsof 会输出以下这些信息: COMMAND: 进程的名称 PID:进程标识符 PPID:父进程标识符(需要指定-R参数) USER:进程所有者 PGID:进程所属组 FD:文件描述符,应用程序 ...

  3. rem与em

    最近有朋友在进行rem布局的时候总搞不懂rem  em  px  与百分比布局的区别在哪里  这里简单给大家介绍一下 Em为单位: 这种技术需要一个参考点,一般都是以<body>的&quo ...

  4. 隐马尔可夫模型(HMM)攻略

    隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...

  5. BMP图片格式模型(2)

    因为公司的主要业务是图像识别相关的,因此对图像处理.识别是我学习的重点.虽然写程序也不少年了,但是对于图像处理领域,我还是一个新兵.对很多基础的概念也还是存在盲区,所以想在边学边做的过程中,对一些概念 ...

  6. 《jQuery实战(第二版)》读书笔记

    第一部分 jQuery核心 1.jQuery基础 第一章总结了jquery的大致功能,基本原理,使用方式. point: (1).引入:<script type="text/javas ...

  7. HTML <form> 标签的 method 属性(20161028)

    HTML <form> 标签的 method 属性 HTML <form> 标签 实例 在下面的例子中,表单数据将通过 method 属性附加到 URL 上: <form ...

  8. java-信息安全(四)-数据签名、数字证书

    概述 信息安全基本概念: 数字签名 数字证书 数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法.一套数字签名 ...

  9. python 接口自动化测试(四)

    说完了SOAP协议的接口自动化 该说下http协议的接口测试了 HttpService.py import requests import sys reload(sys) sys.setdefault ...

  10. Spark结构式流编程指南

    Spark结构式流编程指南 概览 Structured Streaming 是一个可拓展,容错的,基于Spark SQL执行引擎的流处理引擎.使用小量的静态数据模拟流处理.伴随流数据的到来,Spark ...