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

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

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 并不包含封闭源代码软件。

    239 引用 • 224 回帖
  • Jenkins

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

    54 引用 • 37 回帖
  • Spring

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

    948 引用 • 1460 回帖

相关帖子

欢迎来到这里!

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

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