centos7.4jenkins2.141 持续集成 springboot,nodejs

本贴最后更新于 2187 天前,其中的信息可能已经物是人非

centos7.4jenkins2.141 持续集成 springboot,nodejs

环境准备

1.安装 jdk8

在 centos7 下采用 yum 安装 jdk8

yum -y install java-1.8.0-openjdk*

安装完成后:

image

2.安装 apache-tomcat

可以到官网下载 tomcat8.5.11,也可以直接点击下面的下载链接。

tomcat8.5.11 下载

3.启动 war 包

下载 war,可以到 jenkins 官网下载,也可以使用下面的下载链接。

jenkins2.141.war 下载

将 jenkins.war 放到 tomcat 的 webapps 目录,启动 tomcat 后,删除 jenkins.war,将 jenkins 文件夹重命名为 ROOT,然后重启 tomcat。

配置 jenkins

访问 ip+ 端口后出现如下界面:

image

在服务器上执行

/root/.jenkins/secrets/initialAdminPassword

获取密码.

image

安装插件:

image

image

等待一段时间安装好插件。然后配置账号密码就可以登录了。进入主界面:

image

部署 springboot 程序

配置 jdk

系统管理 > 全局工具配置:
image

安装 git

  • 1.删除系统已经安装好的 git
yum remove git

  • 2.安装依赖
yum install gcc perl-ExtUtils-MakeMaker

  • 3.下载 git2.9.5
cd /usr/local/src
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz

  • 4.解压并且编译安装 git
cd /usr/local/src
tar zxf git-2.9.5.tar.gz
cd git-2.9.5/
mkdir /usr/local/git
./configure --prefix=/usr/local/git && make install
  • 5.将 git 添加到系统环境变量
vim /etc/profile

在最后一行加上 export PATH=$PATH:/usr/local/git/bin 保存退出即可!

  • 6.让配置文件马上生效
source /etc/profile

到此 git2.9 版本源码安装结束!

测试:输入指令

git --version

结果:
image

配置 maven

maven 版本为 3.3.9,可以到 maven 官方下载,也可以使用下面的下载地址。
maven3.3.9 下载

安装 jenkins 插件

  • Maven Integration plugin maven 插件

image

  • Publish Over SSH 传输文件到 ssh

image

  • SSH2 Easy Plugin

image

  • Hudson SCP publisher plugin

image

  • Generic Webhook Trigger Plugin 用于 git 钩子回调。

image

新建一个 maven 项目

  • 新建项目

image

image

  • 项目基本介绍

image

  • 增加 gitlab 代码库,同时需要提供代码库的账号密码

image

image

  • 配置 gitlab 钩子

首先为用户配置 token
image

image

image

回调地址如下:

http://user_id:user_api_token@ip:port/generic-webhook-trigger/invoke?token=xxxx
  • 发布脚本
    image

配置 Publish Over SSH 插件
系统管理-> 系统设置
image

image

脚本 deploy.sh 内容如下:

echo "正在发布程序:"$1"..................."
DATE=$(date +%Y%m%d%H%M)
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/root/soft
JARFILE=$1
echo "创建备份文件夹.............................."
if [ ! -d $DIR/backup ]
then
   mkdir -p $DIR/backup
fi

cd $DIR

pid=`ps -ef | grep "$JARFILE" | grep  "java" | awk '{print $2}'`
echo "旧应用进程id:$pid"
if [ -n "$pid" ]
then
   echo "kill jincheng..............."
   kill -9 $pid
fi

mv $JARFILE backup/$JARFILE$DATE
mv -f tmp/$JARFILE .
echo "正在启动应用程序"
nohup ${JAVA_HOME}/bin/java -jar  $JARFILE  2>&1 &
echo "启动成功,pid:"$!":"$?
if [ ! $? = 0 ]
then
        sleep 30
        tail -n 50 nohup.out
fi
echo "保留5条备份文件................................"
cd backup/
ls -lt|awk 'NR>8{print $NF}'|xargs rm -rf
echo "发布完成........................."
sleep 20

部署 nodejs 程序

安装 node js 插件

cd /usr/local

wget https://npm.taobao.org/mirrors/node/v8.11.4/node-v8.11.4-linux-x64.tar.gz

tar zxvf node-v8.11.4-linux-x64.tar.gz

mv node-v8.11.4-linux-x64 nodejs

配置环境变量

vim /etc/profile
source /etc/profile

image

配置 npm 全局路径:

cd /usr/local/nodejs
mkdir node_global
mkdir node_cache
npm config set prefix "/usr/local/nodejs/node_global"
npm config set cache "/usr/local/nodejs/node_cache"
npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -s /usr/local/nodejs/node_global/bin/cnpm /usr/bin/cnpm

image

image

image

image

image

image

deploy_web.sh 脚本内容如下:

FILENAME=$1
DATE=$(date +%Y%m%d%H%M)
DIR=/usr/local/nginx/html
BACKDIR=/root/soft/backup
if [ ! -d $BACKDIR/web ]
then
   mkdir -p $BACKDIR/web
fi
echo "备份"$FILENAME".................."
mv $DIR/$FILENAME $BACKDIR/web
cd $BACKDIR/web
mv $FILENAME $FILENAME_$DATE
cd /root/soft
echo "发布程序:"$FILENAME"......................"
mv /root/soft/tmp/web/$FILENAME".zip" $DIR
cd $DIR
unzip $FILENAME".zip"

mv  dist $FILENAME
chown -R www:www $FILENAME
rm -rf $DIR/$FILENAME".zip"
echo "发布成功:"$FILENAME

android 打包未完成。

  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 3 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    943 引用 • 1460 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...