jenkins的用法

目录

1.什么是jenkins

2.为什么使用jenkins

3.安装jenkins

3.1 把jenkins的war放入虚拟机中

3.2 启动该war包

3.3 访问jenkins

3.3.1 初始进入密码

3.3.2 新手进入操作

 3.3.3 创建成功后进入的界面

 3.3.4 修改密码

扫描二维码关注公众号,回复: 14483121 查看本文章

4.jenkins集成

4.1 jenkins集成jdk

4.1.1 配置环境变量

4.1.2 JDK集成

 4.2 jenkins集成Git

 4.2.1 测试jenkins会不会从gitee拉取代码

4.3 jenkins集成Maven

4.3.1 安装maven

4.3.2 集成

4.3.3 测试集成

 5.jenkins自动拉取gitee远程仓库的代码

5.1 jenkins中安装gitee插件

5.2 修改任务项目

5.3 修改git

5.4 把jenkins打包好的项目复制到测试服务器

5.4.1 设置免密

5.4.2 使用脚本在jenkins 完成jar的复制


1.什么是jenkins

        jenkins就是持续开发部署的软件。

2.为什么使用jenkins

        jenkins本身没有编译打包的功能,集成maven完成编译和打包, jenkins本身不会拉取gitee远程仓库的代码,集成git从远程仓库拉取代码, git本身也不会运行jar,需要集成jdk来运行jar 。

3.安装jenkins

3.1 把jenkins的war放入虚拟机中

3.2 启动该war包

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

-- nohup:如果虚拟机休眠时不关闭jenkins
-- >: 启动时生成的日志放入
-- &: 后台运行

3.3 访问jenkins

3.3.1 初始进入密码

 初始密码:

3.3.2 新手进入操作

 

 3.3.3 创建成功后进入的界面

 3.3.4 修改密码

4.jenkins集成

4.1 jenkins集成jdk

4.1.1 配置环境变量

在jenkins所在的服务上安装jdk并配置环境变量。
[1] 解压jdk软件
[2] vi /etc/profile
    export JAVA_HOME=JDK的安装路径
    export PATH=$PATH:$JAVA_HOME/bin
[3] source /etc/profile   

4.1.2 JDK集成

 4.2 jenkins集成Git

在jenkins所在的服务器上安装git软件
yum install -y git

查看是否安装git
git --version

 4.2.1 测试jenkins会不会从gitee拉取代码

 随机创建一个仓库:

 使用账号密码成功后:

4.3 jenkins集成Maven

4.3.1 安装maven

必须在我们jenkins所在的服务器,安装maven

1.安装包解压

tar -zxvf 安装包

2.配置maven的环境变量

[1] vi /etc/profile
    export MAVEN_HOME=MAVEN的安装路径
    export PATH=$PATH:$MAVEN_HOME/bin
[2] source /etc/profile   

[3]查看是否配置好:mvn -version

3.修改maven的镜像

从阿里云下载依赖

仓库存放地址

 4.3.2 集成

安装maven插件(下载失败需要重新下载,直到下载成功)

 4.3.3 测试集成

如果gitee上的maven项目内容发生改变,则会拉取并进行编译 打包了

 (1)创建一个gitee仓库

(2)idea中创建一个maven工程

 (3) 把idea项目上传到git远程仓库

(4)jenkins拉取项目

 

 查看

 5.jenkins自动拉取gitee远程仓库的代码

5.1 jenkins中安装gitee插件

5.2 修改任务项目

解决内网穿透

ssh -R 80:虚拟机:8777 [email protected]

Xshell输这条命令直接可以内网穿透

注意不要退出

5.3 修改git

 5.4 把jenkins打包好的项目复制到测试服务器

企业: jenkins所在的服务器和我们项目运行时的服务器应该不是同一台机器。

jenkins编译打包好的软件在jenkins所在的服务器。

175上的jar远程复制到176上。

5.4.1 设置免密

(1)在jenkins所在的服务器上输入如下命令 (一直entity)

ssh-keygen -t rsa

(2)接下来需要将公钥导入到认证文件中  

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

 (3)给对应文件授权

 chmod 700 ~/.ssh
 chmod 600 ~/.ssh/authorized_keys

(4)把175上的公钥复制到176上  

在此之前注意要在176的根目录下建立一个.ssh文件夹

scp -p ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys

 (5)测试175登录176

ssh 192.168.227.176

5.4.2 使用脚本在jenkins 完成jar的复制

#!/bin/bash

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

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

echo "ssh连接进行备份操作"
ssh -Tq -oStrictHostKeyChecking=no root@${server_ip} <<EOF
mkdir -p $DIR/backup/${projectName}
mkdir -p $DIR/${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

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

EOF

done

echo "success"

 启动脚本内容:

#!/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

 

 停止脚本内容:

#!/bin/bash

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

猜你喜欢

转载自blog.csdn.net/qq_50896786/article/details/126284707
今日推荐