Java后台环境部署
注意:本文搭建部署都在linux操作系统中部署,请注意安装包的格式
一、环境准备
- 配置linux网卡环境(非必须)
- 安装JDK
- 安装git
- 安装maven
- 安装Jenkins
配置linux网卡初始化
-
ifconfig 查看ip
-
vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑网卡配置
-
i / a 进入编辑模式 将ONBOOT=yes 是否启动时激活网卡
-
esc 退出编辑模式
-
shift+zz 保存退出 || shift+: q! 不保存 wq! 保存
-
chkconfig iptables off 防火墙开机不启动
-
7service iptables stop 关闭防火墙 (避免后期的操作被拦截,建议关闭)
-
reboot 重启
1. 安装JDK
rpm -ivh --nodeps --force jdk-8u71-linux-x64.rpm #rpm安装
#配置jdk环境变量
vi .bash_profile #/root 目录中 or
vi /etc/profile
CLASSPATH=.
#配置jdk安装路径
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el8_1.x86_64/
PATH=$PATH:$JAVA_HOME/bin
shift +z+z 保存并退
source .bash_profile || source /etc/profile #需要去重新加载环境
java -version 查看JDK环境(判断jdk1.8是否安装成功)
2. tar包安装git
#安装环境依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
yum remove git
#开始安装
wget https://www.kernel.org/pub/software/scm/git/git-2.0.5.tar.gz
tar xzf git-2.0.5.tar.gz
cd git-2.0.5
make prefix=/usr/local/git all
make prefix=/usr/local/git install
#设置git环境变量
vi /etc/profile
export PATH=${JAVA_HOME}/bin:$PATH:/usr/local/git/bin #在文件最后一行添加
source /etc/profile #重新加载配置文件
git --version
3. 安装maven教程
#yum安装的mavn卸载方式
rpm -qa | grep maven
yum -y remove maven
#tar包安装
yum -y install wget 安装wget(通过wget命令可直接通过网络下载所需安装包)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.1-bin.tar.gz
如果下载不了,可以直接在官网下载安装包(apache-maven-3.6.1-bin.tar.gz)
配置maven环境变量
vi /etc/profile #添加如下代码
export MAVEN_HOME=/var/local/apache-maven-3.5.2 #/Work_Kevin/maven/maven
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
#保存退出,重新加载配置文件
source /etc/profile
mvn -version
4. 安装Jenkins教程
-
更换yum源为ali 卸载Jenkins
#卸载Jenkins rpm -e jenkins #卸载 rpm -ql jenkins #查看是否卸载 find / -iname jenkins | xargs -n 1000 rm -rf #彻底清除残留文件 #备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #centOS8 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo yum makecache #生成缓存
-
安装依赖环境
#启用Jenkins存储库 运行以下命令下载并导入GPG密钥 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key yum install -y jenkins #或者官网下载 https://pkg.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm #rpm 安装jenkins-2.222.1-1.1.noarch.rpm rpm -ivh jenkins-2.222.1-1.1.noarch.rpm #查看安装位置 rpm -qc jenkins
官方下载地址:http://pkg.jenkins-ci.org/redhat-stable
或者直接下载安装Jenkins安装包
wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
-
修改Jenkins端口号
vi /etc/sysconfig/jenkins #修改端口号 JENKINS_PORT="8080" #此端口不冲突可以不修改,若冲突可以修改 JENKINS_USER="jenkins" #可以修改为root
-
启动Jenkins
#centOS7 service jenkins start #启动Jenkins service jenkins stop #关闭Jenkins service jenkins status #查看Jenkins状态 #CentOS8 启动Jenkins服务并启用它以在系统引导时启动 systemctl start jenkins systemctl enable jenkins #配置防火墙以允许访问Jenkins使用的端口8888,便可以访问Jenkins firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload
访问Jenkins
http://192.168.71.133:8888/
按照路径复制密码,单击继续,安装推荐插件
-
Jenkins jdk环境配置问题
vi /etc/init.d/jenkins candidates=" /etc/alternatives/java /usr/lib/jvm/java-1.6.0/bin/java /usr/lib/jvm/jre-1.6.0/bin/java /usr/lib/jvm/java-1.7.0/bin/java /usr/lib/jvm/jre-1.7.0/bin/java /usr/lib/jvm/java-1.8.0/bin/java /usr/lib/jvm/jre-1.8.0/bin/java /usr/bin/java /home/jdk1.7.0_79/bin/java" (注意 这里修改为自己安装的jdk路径) #重启jenkins service jenkins restart #jenkins登录密码在这个文件里 cat /var/lib/jenkins/secrets/initialAdminPassword
二、安装插件
需要的插件有:
三、全局配置——系统设置
-
maven配置
指定maven中setting的位置
指定maven的安装路径
-
jdk 配置
-
git 安装位置配置
-
系统设置 中 配置gitHub 服务器及自动构建的hook
-
系统设置 中 配置 Publish over SSH
-
配置Credentials
推送jenkins服务器公钥给git服务器
将jenkins的~/.ssh/目录下id_rsa.pub中公钥,放到本地(或远程)git 的/home/git/.ssh/ authorized_keys 中,这样jenkins才能访问git的仓库
cat id_rsa.pub >> /home/git/.ssh/authorized_keys
配置连接Git私有仓库Credentials
在jenkins界面,依次点击:凭据–>jenkins–>添加域
Domain Name(域名): 192.168.71.133
Description: git远程仓库地址(随意)
选择添加凭据
四、maven项目的配置
新建一个maven项目(必须有maven插件才会显示项目)
-
配置 General 和 源码管理
-
配置构建触发器(根据需求配置)
我的配值是根据钩子push 触发 构建项目
-
配置构建环境
当前配置是给构建日志添加时间戳
-
配置 Build
-
配置Post Steps
本地脚本配置
启动jar包的执行shell
echo "Post Steps脚本启动成功${WORKSPACE}" echo "github was update" rm -rf /mywork/java_jar/mastery_web.jar /mywork/java_jar/mastery_web sleep 2 mv /var/lib/jenkins/workspace/mastery_web/target/mastery_web.jar /mywork/java_jar cd /mywork/java_jar chmod 777 *.sh ./start.sh
./start.sh 内容
#!/bin/bash echo "开始执行运行脚本"`pwd` BUILD_ID=dontKillMe pid=`ps -ef | grep mastery_web.jar | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then echo "kill -9 的pid:" $pid kill -9 $pid fi source /etc/profile cd /workspace/java echo '进入到了目录:'${java} mv mastery_web.jar start.jar echo '修改了jar名字' #以debug模式启动,可以用idea远程调试 #nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8001,suspend=n -jar start.jar >/dev/null 2>&1 & nohup java -jar start.jar & echo '执行完了构建' sleep 10s #远程版192.168.1.100 #!/bin/bash echo "开始执行运行脚本"`pwd` BUILD_ID=dontKillMe pid=`ps -ef | grep kevin_start.jar | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then echo "kill -9 的pid:" $pid kill -9 $pid fi source /etc/profile cd /home/hanhuibing/workspace/java-jar/ echo '进入到了目录:'${java-jar} rm -rf start.jar mv *.jar start.jar echo '修改了jar名字' #以debug模式启动,可以用idea远程调试 #nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9999,suspend=n -jar kevin_start.jar >/dev/null 2>&1 & nohup java -jar start.jar & echo '执行完了构建' sleep 10s
远程服务器配置
6. 点击应用—>保存 后便可构建项目
可能出现的问题解决
1.Non-resolvable parent POM for .......pom.part.lock (没有那个文件或目录) and 'parent.relativePath' points at wrong local POM 是mvn仓库权限问题
#解决
chown -R jenkins:jenkins /Work_Kevin/maven/maven_repository #修改服务器仓库为Jenkins用户所有
chmod -R 755 /Work_Kevin/maven/maven_repository #给仓库添加所有着的最高权限
vue前端在Jenkins中的部署
一、环境准备
-
安装nodejs
# 下载node wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz # 解压缩 tar xf node-v10.15.0-linux-x64.tar.xz mv node-v10.15.0-linux-x64 /usr/local/node_10.15 # 配置环境变量 ln -s /usr/local/node_10.15/bin/npm /usr/local/bin/ ln -s /usr/local/node_10.15/bin/node /usr/local/bin/ # 测试 node -v npm -v
-
卸载nodejs环境(附加讲解,非必须执行)
# 先卸载npm npm uninstall npm -g # 卸载nodejs yum remove nodejs npm -y # 看看是否有残留 /usr/local/lib 删除所有 node 和 node_modules文件夹 /usr/local/include 删除所有 node 和 node_modules 文件夹 /usr/local/bin 删除 node 的可执行文件
-
配置npm淘宝镜像说明(非必须)
# 淘宝镜像下载cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org ln -s /workspace/soft/node-v9.6.1-linux-x64/bin/cnpm /usr/local/bin/ # 查看cnpm镜像设置 npm config get registry npm config edit # 添加一行 或者 删除 registry=https://registry.npm.taobao.org/ #或者设置为淘宝的命令 npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/dist
二、插件安装
安装nodejs插件,不详细讲解
三、全局配置&系统设置
同Java配置不详细讲解
四、web项目配置
新建一个项目
-
配置 General 和 源码管理
同Java项目一样
-
配置构建触发器(根据需求配置)
同Java项目
-
配值构建环境
-
配置构建
增加构建步骤选择Execute shell
echo $PATH # 打印版本 node -v npm -v # 进入从github中来下到本地的项目目录 cd /var/lib/jenkins/workspace/ytxd_web # 执行环境下载和打包 cnpm install cnpm run build ls dist #把生成的项目打包成方便传输到远程服务器 tar -zcf dist.tar.gz dist
-
配置构建后操作
Exec command 内容
# 删除本地tar包 rm -rf /var/lib/jenkins/workspace/ytxd_web/dist.tar.gz cd /workspace # 删除旧版本 rm -rf dist # 解压新tar包 tar -zxf dist.tar.gz # 删除没用的tar包 rm -rf dist.tar.gz
``
- 保存后去构建项目