jekins集成部署
创始人
2024-04-25 15:54:48
0

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开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

image-20221211193258263

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=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

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

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

# maven config
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
export PATH=${PATH}:${MAVEN_HOME}/bin

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启动和停止脚本

image-20221211195407096

#!/bin/bash
pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];thenif [ $pid -gt 0 ];thenecho 'jenkins is running...'elsenohup java -jar jenkins.war --logfile=server.log --httpPort=7001 > jenkins.log 2>& 1 &fi
elif [ "$1" = "stop" ];thenexec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9echo 'jenkins is stop..'
elseecho "Please input like this:"./jenkins.sh start" or "./jenkins stop""
fi

启动 ./jekins start 停止 ./jekins stop

5.插件安装

5.1.安装maven插件安装

image-20221211200326601

5.2 安装gitee插件

image-20221211200541244

5.3 安装Publish Over SSH插件

image-20221211213348211

5.4 安装 事件机制插件

image-20221211235714639

6.任务构建

6.1 构建任务

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

image-20221211200801084

6.2 配置giteeApi令牌

点击用户头像,然后点击左侧凭据,然后添加一个全局的凭据

image-20221211201416522

访问gitee然后生成一个令牌

image-20221211201650396

6.3 配置gitee源码地址

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

image-20221211202359821

6.4 在build中配置maven相关参数

image-20221211202815457

6.5 全局参数配置

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

image-20221211203710358

6.6 构建项目

image-20221211204300539

image-20221211204400237

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

image-20221211204443213

7.配置远程server

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

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

image-20221211205640771

8.配置上传到远程server并且运行

前提是启动的端口号不要被占用,后续通过脚本来解决这个问题

image-20221211212515934

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

start.sh 内容如下

#!/bin/sh
# 第一个参数为jar包路径 第二个参数为启动端口号
#接收第一个参数作为项目名称,根据项目名称找到进程id
project_pid=`ps -ef | grep  $1 | grep 'java' | awk '{printf $2}'`
if [ "$project_pid" = "" ];thenecho "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  ];thenecho 'jar包名称:'$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" != "" ];thenecho "jar包名称:$1的应用启动成功,端口号为:$2"elseecho "jar包名称:$1的应用启动失败" fi elseecho "jar包名称:$1;进程id:$project_pid的应停止动失败"fi
fi

如果出现超时的情况,就在往下拉,找到超时设置,把超时时间设置长一点,默认是2分钟

image-20221211212123903

9.jekins构建事件触发

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

image-20221211235914729

image-20221212000156218

image-20221211212123903

9.jekins构建事件触发

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

image-20221212000156218

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...