jekins集成部署

news/2024/10/29 0:22:23/

jekins集成部署
1.jekins简介
2.Jenkins部署环境
3. jekins安装
4.配置jekins启动和停止脚本
5.插件安装
5.1.安装maven插件安装
5.2 安装gitee插件
5.3 安装Publish Over SSH插件
5.4 安装 事件机制插件
6.任务构建
6.1 构建任务
6.2 配置giteeApi令牌
6.3 配置gitee源码地址
6.4 在build中配置maven相关参数
6.5 全局参数配置
6.6 构建项目
7.配置远程server
8.配置上传到远程server并且运行
9.jekins构建事件触发
9.jekins构建事件触发
1.jekins简介
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

2.Jenkins部署环境
基本环境:

1.jdk环境,Jenkins是java语言开发的,因需要jdk环境。

2.git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。

3.maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle

以上是自动化部署java程序jenkins需要的基本环境,请自己提前安装好,下面着重讲解Jenkins的安装部署配置。

1.jdk环境配置: 将jdk解压到指定目录 tar -zxvf jdk压缩包 ,然后配置如下环境变量 ,然后在 /etc/profile 文件末尾 配置如下环境变量

JAVA_HOME=/web/jdk/jdk1.8.0_311
PATH=JAVAHOME/bin:JAVA_HOME/bin:JAVAHOME/bin:PATH
export JAVA_HOME PATH
1
2
3
2.git环境配置

卸载 git yum remove git 出现提示输入y即可

自行下载地址:https://github.com/git/git/releases/tag/v2.11.0

解压 tar zxvf git-2.11.0.tar.gz

编译安装 make && make install

查看git where is git

vim /etc/profile 在文件末尾添加 export PATH=$PATH:/usr/local/git/git-2.11.0/bin

更新配置 source /etc/profile

检测是否安装成功 git --version

1
2
3
4
5
6
7
8
9
3.maven 环境配置: 将maven解压到指定目录 tar -zxvf jdk压缩包 ,然后在 /etc/profile 文件末尾 配置如下环境变量

maven config

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
export PATH=PATH:{PATH}:PATH:{MAVEN_HOME}/bin
1
2
3
3. jekins安装
1.下载安装包 http://mirrors.jenkins.io/war-stable/2.346.3/jenkins.war

2.在安装包根路径下,运行命令 java -jar jenkins.war --httpPort=7001 ,(linux环境、Windows环境都一样);

3.打开浏览器进入链接 http://localhost:8080.

4.填写初始密码,激活系统

4.配置jekins启动和停止脚本

#!/bin/bash
pid=ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l
if [ “$1” = “start” ];then
if [ $pid -gt 0 ];then
echo ‘jenkins is running…’
else
nohup java -jar jenkins.war --logfile=server.log --httpPort=7001 > jenkins.log 2>& 1 &
fi
elif [ “$1” = “stop” ];then
exec ps -ef | grep jenkins | grep -v grep | awk ‘{print $2}’| xargs kill -9
echo ‘jenkins is stop…’
else
echo “Please input like this:”./jenkins.sh start" or “./jenkins stop”"
fi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
启动 ./jekins start 停止 ./jekins stop

5.插件安装
5.1.安装maven插件安装

5.2 安装gitee插件

5.3 安装Publish Over SSH插件

5.4 安装 事件机制插件

6.任务构建
6.1 构建任务
点击新建任务,然后选择构建一个maven项目,然后输入任务名称,点击确认即可

6.2 配置giteeApi令牌
点击用户头像,然后点击左侧凭据,然后添加一个全局的凭据

访问gitee然后生成一个令牌

6.3 配置gitee源码地址
如果repository爆红,那就说明没有配置 giteeApi令牌,或者是ssh访问秘钥。我这里使用的是ssh访问的方式

6.4 在build中配置maven相关参数

6.5 全局参数配置
配置一下jdk环境 已经maven环境 git环境这些 避免出现不必要的错误

6.6 构建项目

构建完毕后我们完全可以直接运行:后期我们在配合脚本的放完全自动化运行

7.配置远程server
我们可以配置远程目录,然后在maven打包完毕后,将这个文件上传到指定服务器的路径下

在全局配置中配置如下内容,配置完毕后可测试一下是否可以连通

8.配置上传到远程server并且运行
前提是启动的端口号不要被占用,后续通过脚本来解决这个问题

jar包上传完毕后需要执行的shell脚本指令

source /etc/profile
cd /web/jenkins/app/jekinsDemo/
chmod 755 start.sh
BUILD_ID=DONTKILLME
/web/jenkins/start.sh /web/jenkins/app/jekinsDemo/jekinsDemo.jar 8081
1
2
3
4
5
start.sh 内容如下

#!/bin/sh

第一个参数为jar包路径 第二个参数为启动端口号

#接收第一个参数作为项目名称,根据项目名称找到进程id
project_pid=ps -ef | grep $1 | grep 'java' | awk '{printf $2}'
if [ “$project_pid” = “” ];

then
echo “jar包名称:$1的应用没有启动”

如果该项目没有启动就直接启动

nohup java -Dfile.encoding=utf-8 -jar -Dserver.port=$2 $1 >appStart.log &
check_start=ps -ef | grep "$1" | grep 'java' | awk '{printf $2}'

if [ "$check_start" != "" ];thenecho "jar包名称:$1的应用启动成功,端口号为:$2"elseecho "jar包名称:$1的应用启动失败" fi     

else

如果应用启动,先杀掉改进程

skill -9 $project_pid
$check_pid=ps -ef | grep -w $project_pid | grep java
if [ -z $check_pid ];
then
echo 'jar包名称:‘1′;进程id:′1';进程id:'1;进程id:project_pid’的应用已经成功停止’
# 停止掉该引用后就启动该项目
nohup java -Dfile.encoding=utf-8 -jar -Dserver.port=$2 $1 >appStart.log &
check_start=ps -ef | grep "$1" | grep 'java' | awk '{printf $2}'
if [ “$check_start” != “” ];
then
echo “jar包名称:$1的应用启动成功,端口号为:$2”
else
echo “jar包名称:$1的应用启动失败”
fi
else
echo “jar包名称:1;进程id:1;进程id:1;进程id:project_pid的应停止动失败”
fi
fi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
如果出现超时的情况,就在往下拉,找到超时设置,把超时时间设置长一点,默认是2分钟

9.jekins构建事件触发
只要向 http://主机名:7001/buildByToken/build?token=TOKEN 发起请求,并且携带正确的token即可触发构建

9.jekins构建事件触发
只要向 http://主机名:7001/buildByToken/build?token=TOKEN 发起请求,并且携带正确的token即可触发构建


http://www.ppmy.cn/news/4812.html

相关文章

高数一复习(更新中)

文章目录前言正文等价无穷小常用积分公式两个重要极限求极限的几个方法1.直接求2.夹逼定理3.转化为定积分求解4.洛必达法则积分的几个方法1.换元2.倒代3.分部积分4.有理化5.定积分的技巧定积分的应用1.弧长公式2.旋转体的体积3.旋转体的侧面积4.极坐标下图形的面积5.转动惯量一…

成端/接续功能使用说明

在nVisual系统中,接续/成端功能可以高效、准确、清晰的查看熔纤盒内的光纤连接情况。今天小编来给大家介绍一下成端和接续功能的使用。 一、成端 1. 功能入口 成端功能的入口有两种方式,第一个是鼠标右击选中线缆,出现连线右键菜单&#xf…

统计学习方法 李航 课后习题答案 第二版 机器学习

李航《统计学习方法》课后习题答案(第2版) 🚀🚀🚀【李航课后习题解答书中疑点推导算法代码实现可私聊耐心解答(48小时内回复),包会!!】 也可进入我的个人主页查看分类专栏里的《统计…

文件权限 与 chmod 命令

文件权限 # 创建一个文件和文件夹 $ touch A.txt $ mkdir dic# 通过 ll 命令查看详细信息 $ ll -rw-r--r-- 1 root root 0 Oct 14 13:33 A.txt drwxr-xr-x 2 root root 4096 Oct 14 13:33 dic注意文件与文件夹的第一段信息: -rw-r--r-- drwxr-xr-x这其中就包含…

2G/3G LAC与4G/5G TAC的协同优化

【摘 要】为规避移动通信网络中往往存在的4G TAC和2G/3G LAC不一致及插花的不合理现象,以及部分TAC边界基站下的终端跨TAC重选和切换较多的情况,需要开展TAC/LAC的协同优化工作。根据网络结构、TAC/LAC配置及业务流程,主要从移动终端在空闲态及被叫状态下,处于TAC/LAC的异…

【MybatisPlus】最全面的MybatisPlus通关教程

前言 本文为最全面的MybatisPlus通关教程相关介绍,下边将对MyBatisPlus概述,MyBatisPlus快速入门,CRUD扩展(包括:插入操作、主键生成策略、更新操作,自动填充,乐观锁,查询操作&#…

新冠的经历

本篇博文始于2022年12月10日,记录一下我的新冠经历 第一天:12月9日早上起来喉咙痛,吞咽水比较费劲,房东大哥说自己感冒了,没去上班,屋内都是药和卫生纸,询问他是否阳性,一直不回我&a…

我的大二web课程设计 使用HTML做一个简单漂亮的页面(纯html代码)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…