Jenkins 和 GitHub 的持续集成及一键部署
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 重启
安装JDK教程
-
rpm -ivh --nodeps --force jdk-8u71-linux-x64.rpm #rpm安装
-
配置jdk环境变量
.bash_profile #/root 目录中
vi .bash_profile || vi /etc/profile
CLASSPATH=.
JAVA_HOME=/usr/java/jdkxxxx #配置jdk安装路径
PATH=$PATH:$JAVA_HOME/bin
shift +z+z 保存并退出
source .bash_profile || source /etc/profile 需要去重新加载环境
java -version 查看JDK环境(判断jdk1.8是否安装成功)
安装git教程
-
安装依赖环境
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
-
删除已存在的git
# yum remove git
-
下载源码并解压
# cd /usr/src
# 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 安装
# vi /etc/profile
# export PATH=${JAVA_HOME}/bin:$PATH:/usr/local/git/bin 在文件最后一行添加
: wq! 保存退出
# source /etc/profile
-
检查安装结果
# git --version (出现git version 2.0.5 为安装成功)
安装maven教程
-
yum -y install wget 安装wget(通过wget命令可直接通过网络下载所需安装包)
# wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
(http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz)
如果下载不了,可以直接在官网下载安装包(apache-maven-3.6.1-bin.tar.gz)
-
解压缩maven安装包
# tar -zxvf apache-maven-3.6.1-bin.tar.gz
-
配置maven环境变量
# vi /etc/profile 添加如下代码
export MAVEN_HOME=/var/local/apache-maven-3.5.2
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
保存并运行配置文件
# source /etc/profile
#mvn -version --->验证maven是否安装成功
安装Jenkins教程
-
安装依赖环境
#wget -O /etc/yum.repos.d/jenkins.repo <http://pkg.jenkins-ci.org/redhat/jenkins.repo> # rpm --import <http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key> # yum install jenkins
(官方下载网址:http://pkg.jenkins-ci.org/redhat-stable)https://pkg.jenkins.io/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
# service jenkins start//启动Jenkins # service jenkins stop//关闭Jenkins # service jenkins status//查看Jenkins状态
-
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登录密码在这个文件里
# vi /var/lib/jenkins/secrets/initialAdminPassword
二、安装插件
需要的插件有:
三、全局配置——系统设置
-
maven配置
指定maven中setting的位置
指定maven的安装路径
-
jdk 配置
-
git 安装位置配置
-
系统设置 中 配置gitHub 服务器及自动构建的hook
-
系统设置 中 配置 Publish over SSH
四、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 "开始执行运行脚本" 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 # 避免jenkin 自带机制kill掉启动的进程 source /etc/profile cd /mywork/java_jar/ echo '进入到了xxx目录' 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
远程服务器配置
启动jar包的执行shell
chmod 777 /workspace/java/*.jar sh /workspace/java/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
-
点击应用—>保存 后便可构建项目
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
``
- 保存后去构建项目
到这一步,你的后端Jenkins 和GitHub 持续集成 部署 搭建就成功了,有更好建议,或者配置有问题的同学可以找我继续探讨,本文结束!!
上一篇: Spring Boot整合Redis
下一篇: 码云基本用法