zoukankan      html  css  js  c++  java
  • 使用TFS CI 又想保留服务运行状态的简单方法

    最近公司使用TFS-CI的方式定期部署测试环境, 但是发现TFS-CI 运行完之后会清理agent所在的测试环境. 运行的进程都会被killed

    1. 第一种方法: 本来第一反应 是使用systemd的方式 将 正在测试的产品作为linux的服务 驻留后台运行.

    方法也很简单 就是简单增加了两个服务service即可.

    java版本的

    [root@centos76 deploy]# cat /etc/systemd/system/jstack.service 
    [Unit]
    Description=jstack
    
    [Service]
    Type=simple
    ExecStart=/path/to/file
    
    [Install]
    WantedBy=multi-user.target 

    dotnet版的

    [root@centos76 deploy]# cat /etc/systemd/system/nstack.service 
    [Unit]
    Description=nstack
    
    [Service]
    ExecStart=/usr/bin/dotnet  /path/nstack/runtime/libs/yourapp.dll 
    restart=always
    
    [Install]
    WantedBy=multi-user.target 

    然后使用

    systemctl  enable jstack && systemctl restart jstack
    systemctl  enable nstack && systemctl restart nstack

    但是发现 java版本的有问题 经常获取不到自己应用程序 path目录下面的资源或者是程序文件

    程序有异常 这种方案没有实行的意义了.

    2. 中午午休时睡不着 想到 使用远程执行命令的方法, TFS的agent 应该不会继续追杀了吧.. 本来想多用几台机器来测试,但是想了想意义不大  改用其他方式来处理

    将启动服务的脚本进行修改

    本来是

    /deploy/startup

    将 startup脚本修改为 startupback

    然后 将原来的 startup 脚本进行修改
    ssh root@127.0.0.1 "/deploy/startupback"
    来远程执行

    注意 需要先使用 ssh-copy-id root@127.0.0.1 的方式来处理.

    进行测试, 验证无问题..  貌似很简单的将TFS的agent欺骗了过去. 

    记录一下 以后使用. 

  • 相关阅读:
    C++前置声明的几种方式
    C++中看上去有些奇怪的惯用法:int和bool之间的转换
    在线文档生成工具 mkdocs 使用方法
    对Java前四章的感受
    类与对象的学习之路
    201671010133 201620172 《java程序设计》 初学java!
    神奇的位运算及其简单应用
    mysql 和 mongo db 语法对比
    phpMyAdmin 配置
    mongoDB 基础指令
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12303733.html
Copyright © 2011-2022 走看看