jekenis+maven(nodejs)+svn自动化部署(前后端)
Posted 今夜月色很美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jekenis+maven(nodejs)+svn自动化部署(前后端)相关的知识,希望对你有一定的参考价值。
1、安装maven环境
下载maven
https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
解压
tar -zxvf apache-maven-3.8.4-bin.tar.gz
配置环境变量
vim /etc/profile
在文件结尾添加
export MAVEN_HOME=/apps/apache-maven-3.8.4
export PATH=$MAVEN_HOME/bin:$PATH
使修改的配置生效
source /etc/profile
测试:
mvn -v
显示maven版本信息,maven安装成功
修改settings.xml (settings.xml里面的仓库地址记得修改成linux下仓库目录)
maven仓库目录
/apps/mavenRepositories
2、jenkins配置
2.0、为什么要使用jenkins
自动完成打包发布,减少重复的操作过程以节省时间和工作量。
比如我在今天打包给运维的时候,就不小心带了本地虚拟机的nacos服务器地址,使用jenkins每次部署的配置和代码来自版本库,可以避免本地改动造成的污染。
2.1、安装jenkins
使用war包安装,官网下载jenkins.war
执行
java -jar jenkins.war --httpPort=3344
启动成功,war包方式安装的jenkins插件目录为:
/root/.jenkins/plugins
2.2、初始化jenkins
2.2.1、 解锁Jenkins
服务器查看admin密码(首次启动)
cat /root/.jenkins/secrets/initialAdminPassword
2.2.2、安装推荐的插件
2.2.3、创建管理员用户
2.3、全局工具配置
点击Manage Jenkins->Global Tool Configuration,进入全局工具配置页面
全局工具配置只需要配置JDK、Maven、NodeJs(前端项目需要)
3、配置项目自动化部署
3.1、创建一个自动构建任务
3.2、如果是maven父工程(或前端)
输入名称,选择创建一个自由风格的项目
3.3、如果是一个微服务模块
输入名称,选择创建一个maven项目
3.4、jenkins配置svn
3.5、jenkins配置项目构建命令
后端项目配置maven构建命令
前端项目配置npm构建,选择jenkins中安装的nodejs插件,其他默认即可
3.6、配置自动化脚本
-
第一行,Jenkins默认会在Build结束后Kill掉所有的衍生进程,会杀死我们的,不配置的话会杀死我们的后台启动进程
/xxx/startupBase.sh: 行 67: 29902 已杀死 nohup java -jar $JAVA_OPTS $SPD_BASE > $SPD_BASE_LOG 2>&1
-
第二行,打印当前所在路径,可删除
-
第三行,将构建好的jar包移动到我们想要的目录下
-
第四行,执行启动脚本
BUILD_ID=DONTKILLME
pwd
mv ./target/*.jar /xxx/
./bin/startup.sh restart
如:
如果是父工程,要重启所有模块
BUILD_ID=DONTKILLME
pwd
find . -path '*spd-modules*' -name *.jar -exec mv /xxx/ \\;
find . -path '*spd-gateway*' -name *.jar -exec mv /xxx/ \\;
./bin/startup.sh restart
如果是前端项目,使用shell命令拷贝到nginx目录下,由于Linux下默认cp命令是有别名(alias cp=‘cp -i’)的,无法强制覆盖,即使你用 -f 参数也无法强制覆盖文件,我们使用\\cp来强制覆盖旧文件
pwd
npm install -registry=http://registry.npm.taobao.org --unsafe-perm
npm run build
\\cp -rf dist/* /xx/nginx-1.10.2/html/
3.7、配置完成后,点击保存
3.8、在控制台点击构建按钮
或者点击模块名进入项目构建页面,点击build now进行项目构建
点击左下角当前正在进行的构建任务
在这个页面可以点击"控制台输出"查看构建输出信息
3.9、源码检出
构建成功后,默认源码检出路径为:
/root/.jenkins/workspace/
也可以自定义源码检出位置Local module directory
3.10、启动成功
3.11、注意
如果是新的启动脚本可能检出源码后会提示没有执行权限,需要在svn命令行执行如下命令设置为可执行文件
svn propset svn:executable on startup.sh
以上是关于jekenis+maven(nodejs)+svn自动化部署(前后端)的主要内容,如果未能解决你的问题,请参考以下文章
Maven:Eclipse导入从SVN上检出的Maven多模块工程