使用Jenkins自动部署

支持GIT/MAVEN/NODEJS

网络访问能力支持

配置服务器代理设置到系统配置文件(以下IP均为演示的假IP及端口)
sudo vi /etc/profile

http_proxy=10.34.43.44:8088
https_proxy=10.34.43.44:8088
ftp_proxy=10.34.43.44:8088
export http_proxy
export https_proxy
export ftp_proxy
export PATH=$PATH:/usr/local/bin

source /etc/profile

安装Jenkins

  1. 准备
    cat /proc/version
    确定服务器版本,以便安装正确的软件

  2. 下载
    http://pkg.jenkins.io/redhat/

  3. 安装
    sudo rpm -ih jenkins-2.156-1.1.noarch.rpm

  4. 目录结构
    /etc/init.d/jenkins 启动文件
    /usr/lib/jenkins/jenkins.war WAR包
    /etc/sysconfig/jenkins 配置文件
    /var/lib/jenkins/ 默认的JENKINS_HOME目录
    /var/log/jenkins/jenkins.log Jenkins日志文件
    /var/cache/jenkins/ 缓存目录

  5. 启动
    sudo service jenkins start

报错:
Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code

解决:
找到JDK安装目录 例如: /xxx/xxx/java/jdk1.8.0_162
修改启动脚本
sudo vi /etc/init.d/jenkins
添加"/xxx/xxx/java/jdk1.8.0_162/bin/java" 到 candidates 【例子】
立即生效
source /etc/init.d/jenkins

报错:
Warning: jenkins.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.

解决:
sudo vi /etc/sysconfig/jenkins
修改JENKINS_USER=“当前登入linux的账号”

systemctl daemon-reload

若 sudo service jenkins start 无法启动,
则 用 java -jar jenkins.war --httpPort=8080 > file.log > 2>&1 & 进行启动

安装Jenkins Plugins

请搜索如下基础插件:以便支持命令,GIT,MAVEN,邮箱

Build Timeout
Email Extension
Pipeline
Workspace Cleanup
Timestamper
GitHub Branch Source

安装Git

sudo yum install git

whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz

git --version

Jenkins中用户名密码连接git仓库请使用IP

安装Maven

下载
http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz

解压
tar -zxvf 文件.tar.gz

配置环境变量
sudo vi /etc/profile

内容

export MAVEN_HOME= 安装路径
export MAVEN_HOME
export PATH= P A T H : PATH: PATH:MAVEN_HOME/bin

生效
source /etc/profile

验证
mvn -version

为maven增加taobao镜像 和 http代理

安装Nodejs


补充:目前可以直接使用 tar xvJf ***.tar.xz来解压

配置环境变量
sudo vi /etc/profile
PATH=/xxx/nodexx/bin:$PATH
source /etc/profile

验证
node -v
npm -v

编译vue程序
到web project下执行 npm install

问题:
[…] / rollbackFailedOptional: verb npm-session c6c050d7f30fff3d

解决:设置代理
npm config set proxy http://xxxxx:port
npm config set https-proxy http://xxxxx:port

问题:
有可能出现版本问题

解决:则结合linux gcc版本重装

问题
不能访问外网

解决:设置淘宝仓库
npm set registry=https://registry.npm.taobao.org

Shell脚本(java服务)

cd $WORKSPACE/xxxxx
mvn clean install -Pstage

echo "delete old jar"
rm -f /app/apps/xxxx.jar

jarfile=xxxx.jar

echo "copy new jar"
cp -f  $WORKSPACE/xxxx/xxxx/target/$jarfile  /xxx/xxx

cd /xxx/xxx
echo "stop.."

pid=`ps -ef | grep $jarfile | grep -v grep | awk '{print $2}'`

if [ "$pid" = "" ]
then
	echo "no pid alive!"
else
	echo "pid list :$pid"
	kill -9 $pid
	echo "KILL $pid:"
	echo "stop success"
fi 

sleep 3s
cd /xxx/xxx
nohup java -jar $jarfile  &

jenkins脚本#为了让jar顺利运行使用 nohup方式,并配置jenkins节点变量 BUILD_ID=DontKillMe

Shell脚本(页面编译部署)

cd $WORKSPACE/xxx/xxxx
npm install
npm run build

pathA=/xxx/xx/xxx
if [ ! -d $pathA ];then
mkdir $pathA
else
echo dir exist
fi
rm -fR $pathA/*
cp -fR ./dist/* $pathA/

cd $WORKSPACE/xxx/xxx
npm install
npm run build

pathB=/xxx/xx/xxx
if [ ! -d $pathB ];then
mkdir $pathB
else
echo dir exist
fi
rm -fR $pathB/*
cp -fR ./dist/* $pathB/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值