jenkins的特点是,自动发布
端云互联的特点是, 本地服务使用云端注册中心
小孩子才做选择,我都要
因为公司测试环境由运维管理,用的阿里自带的云效平台,所以在多分支/自动发布之类的运维场景就不太方便,所以申请了一台老主机,搭建Jenkins作为单独的环境,以供提供对外接口/提供非测试环境分支的服务.
这次环境搭建跟以往不同的一点是用的windows环境,整个过程就在此记录一下.
-
搭建jenkins和相关环境
下载地址http://ftp-chi.osuosl.org/pub/jenkins/windows-stable/
换源 手动下载不足插件
下载jdk git mvn/gradle 设置mvn的setting.xml(如果有现成的本地mvn仓库) -
创建自由风格项目
配置git地址 配置启动mvn/gradle打包命令 -
启动端云互联代理(端云互联的核心)
C:\Users{用户名}.edas\logs\project 这里可以看到etrans启动命令(Etrans process command)
这个代理exe必须每次启动项目时候开一次
-
获取项目启动脚本
使用idea的cloud toolkit插件运行项目
在powershell里面实现类似top -ic的效果(https://www.cnblogs.com/mosakashaka/p/12609049.html)
wmic process where “caption=‘java.exe’” get commandline /value
找到需要的java项目脚本, 在jenkins
找不到sh命令的解决: https://blog.csdn.net/qq_40259641/article/details/106190598
后台运行https://www.cnblogs.com/jimmyshan-study/p/11982415.html
中文乱码的解决: https://blog.csdn.net/qq_30353203/article/details/73920086
加DONTKILLME: https://blog.csdn.net/weixin_36816337/article/details/82055217 -
最终配置 构建参数
-启动etrans
BUILD_ID=dontKillMe
/cygdrive/c/Windows/System32/wbem/wmic process where "caption='etrans.exe' and commandline like '%-D 1090%'" call terminate || true
nohup C:/Users/{用户名}/.edas/agent/3.0.0/etrans.exe connect --proxy ssh:usr@host:22:pwd -R 12200 -R 8734 -D 1090 --dns-port 7000 >etrans.log 2>&1 &
- top level maven 边启动边打包 / 如果是gradle可以换成gradle build
clean package
- 启动项目(调用run.sh)
BUILD_ID=dontKillMe
/cygdrive/c/Windows/System32/wbem/wmic process where "caption='java.exe' and commandline like '%项目名%'" call terminate || true
/cygdrive/d/run.sh
windows下用linux命令:https://blog.csdn.net/j9y6f315/article/details/20540001
cygwin找不到命令(jenkins加环境变量): https://blog.csdn.net/lzsdc/article/details/6542489