jenkin 阿里云部署
jenkins自动部署部署
环境准备
- linux服务器(双十一团的99元一年 CentOS 7.4 64位)
- jdk(安装 https://www.cnblogs.com/shihaiming/p/5809553.html)
- maven
- 数据库(https://yq.aliyun.com/articles/285398)
- 远程仓库代码(git,需要有远程仓库进行代码拉取打包测试)
- Jenkins安装
- tomcat安装(springboot项目自带tomcat打包就不需要,如果是war所以需要tomcat,jar在构建后的脚本运行更方便些)
中间的小坑
- 端口开放的bug问题,阿里云的服务器默认只开放3389 -1 22三个端口,比如mysql,tomcat等服务都要去设置端口开放
- tomcat没有输出日志 ./startup.sh 换成./catalina.sh run j就能在tomcat中显示日志的情况
- nohup java -jar XXXX-SNAPSHOT.jar 遇到nohup: ignoring input and appending output to ‘nohup.out’ 没有权限的问题, nohup ./XXX语句 >/dev/null 2>&1 & 进行设置 具体解决使用Linux重定向解决nohup.out无写权限问题
- jenkin默认是隐藏目录 使用xsftp设置打开隐藏文件,就能查看内部的文件等,workspace中下载远程仓库的代码,shiro_project是jenkins中项目名,shiro是代码的文件名,运行的脚本后可以将文件放置在target中,在送cp语句将生成的jar复制到制定的文件夹中
- 多个tomcat启动端口配置问题,不仅仅是server端口,还有其他端口被占用的问题,
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
- <Server port="8005" shutdown="SHUTDOWN">
-
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- HTTP/1.1的端口根据项目修改,如果启动多个tomcat服务需要尽可能修改将端口都进行修改
jenkins入门的教学 慕课网
- jenkin配置节点
- 新建项目
- 配置构建的仓库
- 书写脚本语音
- 补充上进程的杀死等
-
#!/usr/bin/env bash # 文件所在的位置等 cd $PROJ_PATH/shiro mvn install -DskipTests # 复制新的工程 cp $PROJ_PATH/shiro/target/shiro_test-1.1-SNAPSHOT.jar $TOMCAT_APP_PATH/ #!/bin/sh 杀死原来的进程情况 NAME=shiro_test-1.1-SNAPSHOT.jar echo $NAME ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do kill -9 $id echo "killed $id" done echo "---------------" # 启动Tomcat cd $TOMCAT_APP_PATH/ java -jar shiro_test-1.1-SNAPSHOT.jar & tail -f
学习慕课网视频(https://www.imooc.com/learn/1008)