jenkins部署项目+jdk、Git、maven安装

什么是 jenkins?

Jenkins是一个开源软件项目,提供友好操作界面的持续集成(CI)工具、是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成可以更加简单的让我们idea的项目打包上传到linux

jenkins安装(一定要关闭防火墙

  1. 下载jenkins:
    链接: wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war .
    如果输入后运行显示为未找到命令,那么请先输入 yum install -y wget等加载完后再直接输入链接
    在这里插入图片描述

  2. 启动jenkins
    #使用nohup命令启动 nohup ,里当虚拟机黑屏时仍然会运行
    启动命令:

nohup java -jar /usr/local/jenkins.war  --httpPort=8777 --httpsPort=8778 > /usr/local/jenkins.log 2>&1 &

我的下载到了/usr/local,所以以此为例,端口号8777和8778可以更改,根据自己要求即可,其它不动
在这里插入图片描述

  1. 在浏览器中输入自己设置的ip地址进入以下界面

在这里插入图片描述
把上边复制的地址/root/.jenkins/workspace/jenkins输入到xshell
代码如下:

/root/.jenkins/secrets/initialAdminPassword

在这里插入图片描述

输入后进入以下界面
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nbbDOAeR-1624621757502)(assets/image-20210614221312180.png)]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入初始界面
在这里插入图片描述
3.如果忘记密码

进入到jenkins的工作目录,找到config.xml我这里是
/root/.jenkins/config.xml
修改该配置文件useSecurity的节点值为false

<useSecurity>true</useSecurity>

进入到系统管理
在这里插入图片描述
找到Manage Jenkins点击Security

在这里插入图片描述
在这里插入图片描述
进入到用户列表,找到root用户并点击
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后使用新密码登录即可

下载Linux版JDK

(1)链接: https://pan.baidu.com/s/1Xd-zDEQDMc6Q0kwZ6o3PAA .
提取码: bq6s
(2)解压
tar -zxvf jdk8u181.tar.gz
(3)配置/etc/profile文件

vi /etc/profile

进入配置后在最底部输入

export JAVA_HOME=/usr/java/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

修改后必须要用以下命令使配置生效

source /etc/profile

查看版本号为以下命令

java -version

jenkins中配置JDK路径
在这里插入图片描述
在这里插入图片描述

Git

安装Git环境(公钥)
# 安装
$ yum install git -y
# 查看版本
$ git --version

2.在jenkins里安装git插件
在这里插入图片描述
在这里插入图片描述
3.jenkins配置Git环境

此处无需在jenkins中配置Git环境,采用默认生成的即可
在这里插入图片描述
在这里插入图片描述
4.Gitee上任意建一个公开仓库进行测试
(1)登录Gitee创建仓库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. 测试凭据是否能够使用

​ jenkins-》新建任务-》自由风格项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入jenkins的工作空间查看文件是否拉取下来,所有拉取的文件都会存放在jenkins工作空间中
成功结果:
在这里插入图片描述

修改后内容,前边一样,只需在README.en.md
在这里插入图片描述
在这里插入图片描述
xshell里的拉取结果:
在这里插入图片描述

安装Git环境(私钥)

配置和公钥差不多一样,这里值显示不一样的地方

# 安装
$ yum install git -y
# 查看版本
$ git --version

1.必须压迫安装凭证插件Credentials Binding
在这里插入图片描述
2.配置凭证
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
仍然选择freestyle project
在这里插入图片描述
新建仓库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功运行的结果
在这里插入图片描述

Maven

下载安装

1.找一个目录存放maven
cd /usr/java/maven/
2.从阿里云上下载maven安装包
wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
3.解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz

环境配置

vi /etc/profile

export JAVA_HOME=/usr/java/maven/apache-maven-3.6.3
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

在这里插入图片描述
使配置生效和查看版本

source /etc/profile
mvn -version

jenkins配置Maven

在这里插入图片描述

在/usr/java/maven/目录下新建一个repository文件夹,用来作为maven的仓库

cd /usr/java/maven/
mkdir repository
使用root账户修改Maven的settings.xml文件(指定本地仓库和阿里云镜像)
在这里插入图片描述
本地仓库
在这里插入图片描述
阿里云镜像
在这里插入图片描述
代码:

  <!--本地仓库-->          
 <localRepository>/data/software/repository</localRepository>
 
 <mirrors>
   <!--阿里云镜像-->
   <mirror>
     <id>aliyun-maven</id>
     <mirrorOf>central</mirrorOf>
     <name>aliyun maven mirror</name>
     <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   </mirror>
 </mirrors>

Maven测试项目

1.利用idea搭建一个简单的web项目工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果出现下面的东西
在这里插入图片描述
你需要填上gitee的用户名和密码
2.创建maven项目(和其他的差不多,以下是部分区别)
要选择maven
在这里插入图片描述
在这里插入图片描述
测试结果
在这里插入图片描述

免密登录

此处已经安装并运行的jenkins的虚拟机是192.168.253.4
在已经安装并运行的jenkins的虚拟机上进行以下步骤:
1.输入命令生成密钥(输入后进行三次回车

ssh-keygen -t rsa

在这里插入图片描述
id_rsa : 生成的私钥文件
id_rsa.pub: 生成的公钥文件
2.公钥导入到认证文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

在这里插入图片描述
3.给文件授权
在这里插入图片描述
在jenkins服务器的/root/目录下创建filetest文件,并拷贝到应用服务器

touch filetest
scp -p filetest root@192.168.223.129:/root/filetest
# 在jenkins服务器上使用ssh进行免密连接测试,成功后会出现Last Login的提示
$ ssh root@192.168.223.129
Last login: Sun Sep 20 21:53:03 2020

192.168.253.4虚拟机里边写的所有代码
在这里插入图片描述
在这里插入图片描述

4.将authorized_keys文件拷贝到应用服务器的admin用户.ssh目录下

scp -p ~/.ssh/id_rsa.pub root@192.168.223.129:/root/.ssh/authorized_keys

此处是普通的虚拟机即把复制文件到这台虚拟机上(192.168.253.3)
1.先创建/root/.ssh文件夹
代码如下:

 mkdir -p /root/.ssh

在192.168.253.3虚拟机里总共写的代码
在这里插入图片描述

编写jenkins发布启动脚本

1.在xshell里边书写启动的命令
/data/app/my-boot目录下创建启动脚本start.sh

touch start.sh
vim start.sh //编辑start.sh文件

在start.sh里边书写


#!/bin/bash
set -e #任何命令出错就退出
set -o pipefail

APP_ID=my-boot
APP_DIR="/data/app"

nohup java -jar ${APP_DIR}/${APP_ID}/${APP_ID}.jar > release_out.log &
start_ok=false
if [[ $? = 0 ]];then
        sleep 3
        tail -n 10 release_out.log
        sleep 5
        tail -n 50 release_out.log
fi
aaa=`grep "Started" release_out.log | awk '{print $1}'`
if [[ -n "${aaa}" ]];then
    echo "Application started ok"
    exit 0
else
    echo "Application started error"
    exit 1
fi

在这里插入图片描述
停止脚本命令
(1)创建stop.sh和创建start.sh一样
(2)利用vim stop.sh 命令编辑停止脚本

#!/bin/bash
APP_ID=my-boot
ps aux | grep ${APP_ID} | grep -v "grep" | awk '{print "kill -9 "$2}' | sh

2.在jenkins里边配置
(1)点击之前创建的工程
在这里插入图片描述
(2)进入配置
在这里插入图片描述
(3)点击配置后找到Post Steps添加内容

#!/bin/bash

echo "部署的目录和项目名称"
DIR="/data/app"
projectName="my-boot"

echo "待部署的应用服务器,可多台"
server_ips="192.168.253.3"
for server_ip in ${server_ips[@]}
do

echo "ssh连接进行备份操作"
ssh -Tq -oStrictHostKeyChecking=no root@${server_ip} <<EOF
mkdir -p $DIR/backup/${projectName}
if [ -f "$DIR/${projectName}/${projectName}.jar" ];then
  mv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jar 
fi
EOF

echo "拷贝jar包到目标服务器的tmp目录"
scp -q -oStrictHostKeyChecking=no ${WORKSPACE}/target/*.jar root@${server_ip}:/tmp/${projectName}.jar

echo "ssh远程连接进行发布操作"
ssh -q -oStrictHostKeyChecking=no root@${server_ip} <<EOF
mv /tmp/${projectName}.jar $DIR/${projectName}/${projectName}.jar

EOF



sh $DIR/${projectName}/stop.sh
sh $DIR/${projectName}/start.sh





done

echo "success"

在这里插入图片描述

在这里插入图片描述

出现这个,构建成功
在这里插入图片描述
原先内容
在这里插入图片描述
现在内容
在这里插入图片描述
上传到git后最终的运行结果为:
成功结果
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐