Jekins安装和部署

注意:该操作环境是windows系统

1.官网下载

注意jekins各版本不同支持jdk的版本也不同

https://www.jenkins.io/download/

 如图进去后可看见最新版,而past releases是历史版本

查看自己各版本的支持

我下载的是2.346.1版本,是war包形式

2.启动jekins 

直接在war包路径 java命令启动

java -jar jenkins.war --httpPort=8080

原理:启动的时候给命令,让jenkins不终结自己的进程衍生的进程。

java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war

启动完成后看输出日志里找到这串密码,就是admin的初始密码

也可在文件里寻找

 3.安装基本插件

 这里建议选择,推荐安装的插件,保证基本常用的功能可以使用。

然后下载多余插件可在Manage Plugins下载

 比如说svn插件:Subversion,远程部署包插件插件:Publish over SSH,等自行根据情况选择

 4.配置环境

进入Configure System (系统设置)

在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,

  即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,

  当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图

上传代码的根路径可以不填

进入全局配置环境

 配置maven

 配置jdk

 配置代码版本控制,git或svn,自行根据自己情况,svn需自己另行下载插件

 配置maven

 5.创建工程项目

 

然后填写描述,或不写

 源码管理根据自己情况

 然后构建触发器和构建环境里的选项可不勾,自己根据实际情况

构建,选Invoke top-level Maven targets

进行clean install操作 

主要是构建和构建后的操作,这两个比较重要

可以在构建里选执行shell脚本等命令,打包后进行的操作

构建后可选 Send build artifacts over SSH

将包发送到指定服务器再进行启动

点击高级勾选这个,能看到远程执行的命令 

 这里remote directory可单独为每个不同的项目发送到指定的路径.注意windows不能输入盘符,jekins这里只能输入文件夹路径(不包含盘符)

 然后输入额外执行的脚本

前提是目的服务器含有该脚本

例如加个main.bat脚本,linux则sh

set source_jar_name=test.jar
set source_file=G:\jenkins\jenkins-workspace\workspace\springboot\target\
set deploy_path=G:\jenkins\deploy\springboot\
set port=8050
#防止jenkins在当前服务器部署项目,启动时终止jar包进程
set BUILD_ID=DONTKILLME

#杀掉进程
echo "starting kill process"
echo port : %port%
 
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
    if [%%d] EQU [LISTENING] (
        set pid=%%e
    )
)
taskkill /f /pid %pid%
echo "finish kill process"


echo "starting move process"
move %source_file%%source_jar_name% %deploy_path%
echo "finish move process"


echo "starting backup process"
if exist %deploy_path%%source_jar_name% ( 
copy %deploy_path%%source_jar_name% "%deploy_path%staff-%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%.jar"
) else ( 
echo "not exist"
)
echo "finish backup process"

echo "starting project process"
start javaw  -jar %deploy_path%%source_jar_name% --server.port=%port% > log.log &
echo "finish project process"

部署前端则需在构建环境设置node

首先在Configure System 配置环境变量

windows系统的Path的值则cmd命令输入Path复制下来,Linux则查看PATH命令为echo $PATH

然后在项目构建环境设置node环境变量和控制台输出 

然后脚本

set source_name=dist
set source_file=G:\jenkins\jenkins-workspace\workspace\test-vue\
set deploy_path=G:\jenkins\deploy\test-vue\
set deploy_name=test_web

cd %source_file%
yarn install && yarn build
zip -r dist.zip dist
move %source_file%dist.zip %deploy_path%
copy %deploy_path%dist.zip "%deploy_path%dist-%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%.zip"
if exist %deploy_path%%deploy_name% ( 
 rd /s /q %deploy_path%%deploy_name%
) else ( 
echo "not exist"
)
unzip -o -d %deploy_path% %deploy_path%dist.zip 
ren %deploy_path%%source_name% %deploy_name%

若前端打包报错则看看有无这条

Treating warnings as errors because process.env.CI = true.

这条会将warning警告当成error处理,所以jenkins打包会报错

需要调整为false

在执行命令npm build之前设置 export CI=false,可在Jenkins或者前端构建命令语句中添加。

jenkins则在

Configure System配置添加一个CI环境变量 

防止jenkins杀掉衍生进程,包括运行的java命令

所以需要在配置Configure System

添加两个环境变量 

若是部署项目到windows环境运行

目前jenkins还是会kill掉java运行的进程

但找到一种方法,注册为windows service 服务,然后启动服务就不会被kill掉

用winsw将jar包做成window后台服务

前面的文章,将jar包打包成exe工具里有写

jar包打包成exe安装包_小波波啊的博客-CSDN博客_jar包打包成exe

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值