Jenkins+Git+github 自动化部署

前言

服务器原来已经安装了jdk ,tomcat 等等就省略了这些安装

安装Jenkins

1:准备Jenkins必需环境 java(安装步骤略)
2:yum安装Jenkins

 	wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
	wget -O /root/jenkins.io.key https://pkg.jenkins.io/redhat/jenkins.io.key
	rpm --import  /root/jenkins.io.key
	yum clean all && yum makecache
	yum install -y jenkins

3:修改Jenkins默认端口
进入/etc/sysconfig/ vim jenkins 修改8080 为****
4:启动Jenkins

 systemctl start jenkins 

如果出现 Job for jenkins.service failed because the control process exited with error code. See “systemctl status jenkins.service” and “journalctl -xe” for details. 则进入 cd /etc/init.d/ vim jenkins 添加自己java的环境变量地址
在这里插入图片描述
如果出现告警:
Warning: jenkins.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.
执行systemctl daemon-reload 即可。

HTTPS访问并配置Jenkins

1:nginx下conf nginx.con配置文件中添加 并重启nginx:

/usr/local/nginx/sbin/nginx -s reload

在这里插入图片描述
2:在jenkins配置文件中添加 JENKING_ARGS=’’–prefix=/jenkins" 并重启jenkins:

service jenkins restart

在这里插入图片描述
3:访问https://域名/jenkins
在这里插入图片描述
查看密码

cat /var/lib/jenkins/secrets/initialAdminPassword

4:选择插件安装
在这里插入图片描述
等待安装完成
在这里插入图片描述

安装maven

1:下载并解压 并解压
在这里插入图片描述
在这里插入图片描述
2:配置环境变量
在这里插入图片描述
在这里插入图片描述

source /etc/profile

3:查看maven版本

mvn -v 

在这里插入图片描述

安装git

1:下载git安装包 https://github.com/git/git/releases
*强调文本* _强调文本_
2:上传到linux
3: 解压

tar -zxvf git-2.26.0.tar.gz

4:进入

cd git-2.26.0

5:安装依赖

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker wget autoconf -y  

(可以事先用rpm -q xx 查看是否安装了默写依赖)
6:删除旧版

yum -y remove git

7:编译

make prefix=/usr/local/git all

8:安装

make prefix=/usr/local/git install

9:配置环境变量

vi /etc/profile

在这里插入图片描述
10:查看版本
在这里插入图片描述

11:配置git的用户名

 git config --global user.name "***"

12: 配置git的邮箱

git config --global user.email "*@*.com"

13:生成密钥文件,连续回车即可,默认生成在/root/.ssh文件夹下 ls可能不显示 直接cd .ssh即可进入
在这里插入图片描述
15:打开github 下来用户选择 setting
在这里插入图片描述
16:添加秘钥
在这里插入图片描述
在这里插入图片描述
17:生成token 复制备用
在这里插入图片描述
在这里插入图片描述
18:生成webhooks https://域名/jenkins/github-webhook/
在这里插入图片描述

将Linux服务器注册到Jenkins上

1:新建节点

图片:
配置如下
在这里插入图片描述
配置好执行编译能连接说明没问题

配置jenkins

1:进入系统管理—选择系统配置
在这里插入图片描述在这里插入图片描述
2:添加 弹出页面
在这里插入图片描述
3:进入系统管理-选择全局工具配置
在这里插入图片描述
在这里插入图片描述
4:新建任务
在这里插入图片描述
配置如下
复制git项目地址
在这里插入图片描述
添加到下图,账号密码自行输入
选择 检出到子目录 自定义文件名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#当jenkins进程结束后新开的tomcat进程不被杀死
BUILD_ID=DONTKILLME

#加载变量
. /etc/profile

#配置运行参数
#PROJ_PATH为设置的jenkins目录的执行任务目录
export PROJ_PATH=`pwd`

#配置tomcat所在目录
export TOMCAT_APP_PATH=/usr/local/tomcat
 
#执行写好的自动化部署脚本
sh /root/jenkins/deploy.sh

如果执行编译出现 Permission denied 是因为权限引起(安装完jenkins后,linux中默认使用的jenkins这个用户) 现在改为root

vi /etc/sysconfig/jenkins

在这里插入图片描述
2:执行

sudo chown -R root /var/log/jenkins

sudo chgrp -R root /var/log/jenkins

sudo chown -R root /var/lib/jenkins 

sudo chgrp -R root /var/lib/jenkins

sudo chown -R root /var/cache/jenkins

sudo chgrp -R root /var/cache/jenkins

3:如果执行编译出现$’\r’:command not found执行 命令:

dos2unix deploy.sh

deploy.sh

#!/usr/bin/env bash
#编译+部署项目站点

#需要配置如下参数
# 项目路径, 在Execute Shell中配置项目路径, pwd 就可以获得该项目路径
# export PROJ_PATH=这个jenkins任务在部署机器上的路径

# 输入你的环境上tomcat的全路径
# export TOMCAT_APP_PATH=tomcat在部署机器上的路径

### base 函数
killTomcat()
{
    pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
    echo "tomcat Id list :$pid"
    if [ "$pid" = "" ]
    then
      echo "no tomcat pid alive"
    else
      kill -9 $pid
    fi
    #上面注释的或者下面的
    #cd $TOMCAT_APP_PATH/bin
    #sh shutdown.sh
}
cd $PROJ_PATH/jenkins-xcx
mvn clean install

# 停tomcat
killTomcat

# 删除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT/*

# 复制新的工程到tomcat上
cp $PROJ_PATH/jenkins-xcx/target/xxx.war $TOMCAT_APP_PATH/webapps/ROOT/

cd $TOMCAT_APP_PATH/webapps/ROOT/

chmod 777 xxx.war

jar -xvf xxx.war

rm -rf $TOMCAT_APP_PATH/webapps/ROOT/xxx.war

# 启动Tomcat
cd $TOMCAT_APP_PATH/bin
sh startup.sh

over

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值