入门级Jenkins持续集成手把手速成

2023-9-6

有问题留言!!!

目的

在日常的项目测试过程中,搭建与维护测试环境是广大测试同学的一个基础技能,相信也很少会有公司完全不让测试去碰自己的测试环境。那么工作中大量的创建、部署、管理、维护等一系列的重复操作就成为了整个测试项目中一个巨大的工作量。

面对这样一种普遍的情况,Jenkins作为持续集成的良好解决方案就可以很好的解决以上的这些问题。对于一些重复的搭建部署操作都可以通过Jenkins来进行自动化完成,无需任何人工干预,有利于减少重复过程以节省时间、费用和工作量,让测试同学腾出更多的时间与精力来关注并着眼于其他的重要测试环节。

说明

  1. 操作系统采用CentOS7.9 / windows11
  2. Maven 版本 3.9.4 / windows下3.5.4
  3. Java版本11 / windows下jdk8
  4. 使用gitee仓库

环境配置

jenkins版本

jdk11 选择新版本。

jdk8 选择2.319.1。

CentOS安装JDK
查看可安装java版本

yum search java | grep jdk

安装

yum install -y java-1.8.0-openjdk

查看可切换java版本

需要java11版本,下载java11后进行切换版本

alternatives --config java 输入编号切换

maven安装

官网下载maven文件包上传服务器

tar -zxvf 文件名.tar.gz

将解压的目录移动到/usr/local目录下

mv 文件名 /usr/local/maven

测试maven安装是否成功

/usr/local/maven/bin/mvn 显示构建信息表示成功

image.png
配置环境变量

export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin

maven的镜像配置

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
git安装

yum install git

持续集成java

插件的安装
  1. 安装Maven integration

起maven项目

  1. Publish over SSH

远程连接服务器

启动jenkins.war包
//修改.jenkins文件的路径
set JENKINS_HOME=./data
 //修改jar包的port
java -jar  jenkins.war  --httpPort=8081
全局JDK配置

本地windows要在环境变量加JAVA_HOME
image.png
CentOS下不用配置,默认使用java -version显示出来的版本

MAVEN配置

本地windows要在环境变量加 MAVEN_HOME
image.png
CentOs下配置maven
image.png

SSH Server配置

配置SSH Server
image.png
关闭jar进程,并删除文件
image.png
启动jars
image.png
这里命令可以用服务器的路径

CentOS上两个配置文件

clear.sh文件

#!/bin/bash

# 删除历史数据
rm -rf ./web_api.jar
rm -rf ./logs

echo "11"

#获取正在运行的jar包pid
pid=$(ps -ef | grep web_api | grep 'java -jar' | awk '{printf $2}')

echo $pid

if [ -z "$pid" ];

	then 
		echo "$appname not started..."
	else
		kill -9 $pid
		echo "$appname stop..."
fi


startup.sh文件

nohup java -jar **/web_api.jar >mylog 2>&1 &

注意:

  1. 确认程序所需要的jdk版本最好和jenkins一样,
  2. 直接在post Steps统一
# 改端口,该配置文件
PID=`lsof -i:8088| grep LISTEN |awk '{print $2}'`
echo ${PID}
export BUILD_ID=dontKillMe
if [[ $PID -ge 0 ]];then 
    kill -9 $PID
fi
cd /root/wisdom_sk/back/wisdom_sk_test
nohup java -jar /root/wisdom_sk/back/wisdom_sk_test/wisdom_sk_api.jar  --spring.profiles.active=test> /root/wisdom_sk/back/wisdom_sk_test/startlog.log 2>&1 &

持续集成前端

前端一般依赖node 环境

CentOS安装Node

这里建议下载nvm管理node ,同时方便切换node版本

参考链接:https://blog.csdn.net/m0_49000161/article/details/133790114?spm=1001.2014.3001.5501

全局node配置

image.png

项目->构建->构建环境

image.png

构建
npm install # 因为node_modules没有提交所以需要install
npm run build # npm命令打包项目
rm -rf dist.tar.gz # 删除上一个\已存在的dist压缩包
tar -zcvf dist.tar.gz dist # 将新打的dist包进行压缩
send File 发送文件到服务器

image.png

角色和权限分配

Role Strategy Plugin 插件

针对多个project进行权限控制(访问)。
image.png

管理用户

设置用户的账号

Manage and Assign Roles
管理角色

Global roles
image.png
Item roles
project roles中Pattern正则表达式跟脚本里的不一样,比如过滤TEST开头的jobs,要写成TEST.而不是TEST,切记
image.png

分配角色

Global roles
image.png
Item roles
image.png

问题:

  1. ** jdk.tools:jdk.tools:jar 找不到**

    因为centos环境下 yum 安装的java只有jre , tools需要装jdk才可。
    安装命令

yum install java-1.8.0-openjdk-devel.x86_64

  1. jenkins通过nginx代理 没有路径 可以在jar启动的时候 统一加缀

nohup java -jar jenkins.war --httpPort=8080 --prefix=/jenkins &

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值