思路: 1.首先是要获取项目的差异文件列表,实现方式是通过cmd 执行git 命令. git pull   拉取最新代码 git log   查看git签入记录  ,使用参数 --pretty=format:" + h,+ an,+ cd,+ s\" 格式化输出格式为   hash,作者,日期,备注 git diff  查看某次签入到现在的差异 git show  查看某次前入的详情 #coding:utf8 import json import os import sys reloa…
[持续更新中啦] 过去一年,有在尝试做.net 这块的开发运维工作.基于现在的开发场景,写了一套差异发布工具.后面用python重写了一套,现学现卖. 主要功能: 差异打包.自动发布.自动回滚 实现架构: 1.Manager   部暑在本地负责编译代码的工作站.负责获取git的签入记录,按记录获取差异文件列表进行打包,然后上传到远程vps的管理中心. 2.Server   部署到远程vps  ,是发布更新的管理中心.负责接收更新包,分发到应用服务器,回滚更新.支持多重部署,比如隔离的线上开发环境…
 在很久之前net还只能在windows上部署的时候,或许很多创业公司的朋友发布项目还都是人肉部署,反正windows都是可视化的界面,拖拖拉拉,开开关关还不 是特别麻烦...现如今你的项目需要在linux上部署,可惜的是再也没有什么可视化的界面给你,全在xshell上操作,如果在xshell上部署个位数的项目大家或许还可 以接受,如果要部署10+以上的服务呢,估计很多人在xshell上敲的头都大了...这就是为什么docker会有dockerfile,会有容器编排的docker-compose…
1.  webpack只识别js文件,其他文件都需要转换成js文件.所有文件都是模块; 2. css解析      css需要css-loader  --->style-loader ----->less-loader less文件还需要less-loader (注意书写顺序) 3. plugins:他是一个数组,四个属性中唯一一个数组,它的子元素需要提前require进来. 我不明白loader们不需要require而插件需要require?????????? 这是官方文档,loader相当…
文章:应用在Windows系统中的自动化部署实践 博主大概讲解了一遍如何摸索实现自动化部署.不过内容不详细,很多具体细节需要自己摸索. 标题:windows server 部署服务(WDS) 地址:https://blog.51cto.com/seawind/1870902 没看明白是啥东西. 标题:Windows自动化部署(一) AD域环境准备 标题:Windows自动化部署(二) DHCP环境准备 标题:Windows自动化部署(三)MDT环境准备 标题:Windows部署服务(WDS) 标…
从在公司实习到正式入职,一直还在被同事使用的是我写的一个自动发布工具.该工具的主要功能是:开发人员给出需要更新的代码包(zip格式),测试人员将该代码包部署到测服,这些代码包和JIRA数据库里的项目信息挂钩,同时这个工具也支持回滚代码包.因为涉及到sftp的相关操作,最初选择了paramiko这个饱受好评的第三方库.可是当时该库只支持Python2,所以我的这个自动化工具在Python2的环境下编写. 最近又在写一个原创的WEB自动化测试框架,在Python3环境编写,所以我装了个虚拟机,WIN…
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序运行的状态.本文主要介绍了调试工具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例.N年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象.我们先使用ProcDump在生产环境中抓取异常进程的Dump文件,然后在不了解代码的…
原文:https://my.oschina.net/songzhu/blog/610337 一.服务器准备 服务器ip地址为:172.16.70.174 1.安装 Node.js 参考:http://my.oschina.net/songzhu/blog/608129 2.安装 PM2 PM2 是一个带有负载均衡功能的 Node 应用的进程管理器. 全局安装 PM2 $ npm install pm2 -g $ pm2 list [PM2] Spawning PM2 daemon [PM2] P…
说明 这里先介绍下两个东西 CI/CD.GitLab Runner,当然在此之前你需要对 git 有所了解,关于 git 这里不做说明,可以自行百度. 首先介绍 CI/CD :随着我们开发方式的转变,程序的发布变得非常频繁,而其这些发布操作都是重复的.CI/CD 就是为了使这些操作能变得自动化,那它是怎么实现自动化的呢?其实它做的就是当我们使用 git push(推送)代码的时候会执行 任务(task) 而这个 任务 里面其实又包含多个 作业(job),如对代码进行单元测试.部署项目等等,这些…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 通过GeoServer发布的服务,在GeoServer内部有固定的文件组织和构造.如果对该文件组织和构造有足够的了解,可以通过此规则来自己开发GeoServer服务的发布工具,简化工程人员的操作流程.此篇文章将跟大家一起探讨其中规则. 2.了解GeoServer中与服务相关的基本文件 在GeoServer的Data文件夹中有如下文件: 其中,workspac…