超详细将IDEA项目推送到gitee上,jenkins的安装与使用,并且使用jenkins拉取到gitee本地仓库上的项目

超详细将IDEA项目推送到gitee上,jenkins的安装与使用,并且使用jenkins拉取到gitee本地仓库上的项目

Jenkins概念

Jenkins是一款强大的自动化构建工具,广泛应用于软件开发和测试领域。它能够帮助团队在软件开发过程中实现自动化,从而提高生产效率和质量。下面我们将详细介绍Jenkins的用途。

1. 自动化构建

Jenkins能够自动从版本控制系统(如Git、SVN)中获取最新的代码,并根据预定义的构建脚本(如Maven、Gradle、Ant等)执行构建过程。这不仅减少了手动构建带来的错误和重复劳动,还确保了每次构建都基于最新的代码库。

2. 持续集成

持续集成(CI)是一种软件开发实践,它要求开发团队定期将代码合并到共享的主分支中,并自动运行构建和测试流程。Jenkins通过提供强大的插件系统和灵活的配置选项,使得实施持续集成变得简单而高效。每当有新的代码提交时,Jenkins都会自动触发构建和测试,从而快速发现和修复问题。

3. 自动化测试

Jenkins不仅限于构建过程,它还能集成各种测试工具(如JUnit、Selenium、JMeter等),自动执行单元测试、集成测试和性能测试等。这种自动化的测试流程确保了软件的质量,并帮助开发团队在问题影响到用户之前发现并修复它们。

4. 持续部署

持续部署(CD)是持续集成的延伸,它自动将通过所有测试的构建版本部署到生产环境或预生产环境。Jenkins通过与部署工具(如Docker、Kubernetes、Ansible等)的集成,支持自动化的部署流程,使得软件交付更加迅速和可靠。

5. 监控和报告

Jenkins提供了丰富的监控和报告功能,允许开发团队跟踪构建和测试的状态,以及查看构建历史和测试结果。这些功能帮助团队更好地理解项目的健康状况,并做出数据驱动的决策。

什么是敏捷开发

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开
发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试, 具备可视、
可集成和可运行使用 的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行
的小项目,并分别完成,在此过程中软件一直处于可使用状态。

什么是持续集成(CI

因为开发部门同时维护多个版本,多个版本的发布,测试需要大量人力,所以要有一个专业
的持续集成工具来管理持续重复的工作。
// 1. 甲方提出要求
// 可行性分析
// 需求 -> 开发 -> 测试
// bug 禅道
// bug 等级 高

JenkinsHudson
  1. Jenkins 是一个持续集成(CI)工具。它可以持续编译,运行你的代码;运行单元测试(UT)
    或集成测试;将运行结果发送至邮件,或展示成报告。
  2. Jenkins 起源于 Hudson。Hudson 在商业软件的路上继续前行,而 Jenkins 则作为开源软
    件,从 hudson 分支出来。 因此现在的 jenkins 和 hudson 非常类似,但是随着二者各自的发
    展,已经有了一些不同。
部署方式对比

JavaEE 项目部署方式对比

手动部署

git ->checkout-> war -> 部署

自动化部署

"自动化"的具体体现:向版本库提交新的代码后,应用服务器上自动部署,用户或测试人员
使用的马上就是最新的应用程序。

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。 对于程
序员的日常开发来说不会造成任何额外负担------自己把代码提交上去之后,服务器上运行的马
上就是最新版本------一切都发生在无形中。

下载jenkins

复制代码
https://www.jenkins.io/download/
https://get.jenkins.io/war-stable/2.222.4/

下载好war包后准备环境

准备环境
jdk

安装jdk

将jdk压缩包放在服务器上

解压jdk

复制代码
tar -zxvf tar包名

解压之后配置jdk的环境变量

进入/etc/profile文件中

注意路径要改为自己的

复制代码
export JAVA_HOME=/opt/jdk/jdk-17.0.12
export PATH=$JAVA_HOME/bin:$PATH

配置完之后让环境生效

复制代码
source /etc/profile

查看jdk版本

复制代码
java -version

看到17说明配置成功

tomcat

也是下载好之后直接拖入到服务器上,然后解压

复制代码
tar -zxvf tar包名

解压好之后

配置环境变量,进入etc/profile

复制代码
export CATALINA_HOME=/opt/jdk/tomcat5
export PATH=$PATH:$CATALINA_HOME/bin

注意自己的tomcat路径

将我们下载好的jenkins.war包放在tomcat内部里

进入tomcat

进入webapps

将war包拖入里面

启动tomcat,进入tomcat的bin里面,启动startup.sh

访问本地ip+tomcat默认端口号8080+jenkins

http://192.168.227.99:8080/jenkins

可以看到我们成功的进去了

404

但是有时候访问路径是404,怎么进都进不去,这个时候就就可能是你的jdk版本或者tomcat的版本有问题,jdk最好是17,tomcat9或10也都可以,再就是看自己的环境变量配置错误没有,如果还是进不去可以下载一个依赖

复制代码
yum -y fontconfig

还是进不去可以查看tomcat的日志

在这里可以找到报错原因

继续

这个时候进入它所指的文件夹去找这个文件

复制代码
Cat  /root/.jenkins/secrets/initialAdminPassword

将密码放到jenkins上并继续

左边是自动推荐下载,右边是我们自己下载的,所以我们选择自己下载

点击选择插件来安装,所有的勾都去掉,所有的插件全部不选

创建用户,密码,确认密码

访问的路径,注意是自己的ip

完毕

将项目上传到git上

先创建一个gitee账号

https://gitee.com/

创建好账号后创建一个本地仓库

点击右上角加号

创建成功之后打开我们idea

第一种上传方式:

打开左上角

找到git

下载git文件:

Git - Downloading Package

无脑下一步安装,记得配置环境变量

下载好之后再打开左上角一步一步配置,然后点击那个test看是否成功

找到项目上的vcs

这里要配置成git

点击ok之后,右上角上面会出现箭头

点击项目右键

这里要填上我们的git上面的本地仓库路径

打开git进入我们刚才创建的仓库里面,点击克隆

复制路径

ok之后我们项目左边会出现commit

commit之后点击右上角的箭头

push上传

可能会上传失败,网卡的多试几次,上传后查看自己的本地仓库看里面有没有刚上传的文件

第二种上传方式:

下载插件

下载插件

不要忘了apply

插件下好并引用之后,可以看到多了一个Gitee,进去后新添加一个账户,就是在git上的账户,apply

点击上面的Git

创建仓库

打开git看是否会上传

可以看到上传成功

这两种上传方式都可以将项目上传到git上面

配置虚拟机

安装git
复制代码
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

下载好的包放入文件夹中并解压好tar包

复制代码
tar -zxvf 包名

进入git目录编译并安装

复制代码
 cd git-2.19.0
make prefix=/usr/java/git all
make prefix=/usr/java/git install

配置环境变量

复制代码
Vim /etc/profle

export GIT_HOME=/usr/java/git
export PATH=$GIT_HOME/bin:$PATH

让环境变量生效 查看git版本

安装完毕

安装maven

也是将包放进文件夹并解压

配置环境变量

复制代码
export MAVEN_HOME=/opt/jdk/apache-maven-3.8.8
export PATH=$MAVEN_HOME/bin:$PATH 

让配置生效

复制代码
source /etc/profile

进入文件

进入conf

进入settings.xml文件

修改配置

复制代码
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>	

下载插件

复制代码
mvn help:system

使用jenkins

安全配置
配置全局工具

配置git和Maven

jdk

配置maven

安装git的插件

配置git

找到git的路径

复制代码
whereis git

/usr/java/git/bin/git

安装maven插件

创建任务

复制代码
BUILD_ID=DONTKILLME
echo "部署的目录和项目名称"
sh /usr/java/test/build.sh
echo "success"

创建目录

复制代码
mkdir test

创建脚本文件

复制代码
touch build.sh

#! /bin/bash
echo "部署的目录和项目名称"
DIR="/usr/java/project"
projectName="demo"
echo "待部署的应用服务器"
server_ips="192.168.221.37"
#所有的参数列表
for server_ip in ${server_ips[@]}
do
echo "进行备份操作"
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
echo "拷贝jar包到目标服务器的目录下"
cp ${WORKSPACE}/target/*.jar $DIR/${projectName}/${projectName}.jar

echo "目标服务器:$DIR/${projectName}/${projectName}.jar"

echo "连接进行发布操作"
#mv /usr/java/test/demo.jar $DIR/backup/${projectName}/${projectName}.jar
echo "开始关闭jar"
l=`ps -ef|grep demo.jar|grep -v grep|awk '{print $2}'`
for i in $l
do
 kill -9 $i
done
sleep 5s
echo "启动jar"
nohup java -jar $DIR/${projectName}/${projectName}.jar --server.port=9999 > release_out.log 2>&1 &start_ok=false
done

完毕

启动任务

查看项目状态是否报错

完成

因为脚本里直接启动了项目,所以如果成功后,可以上浏览器输入项目的路径和端口号访问是否成功

相关推荐
XIAOHEZIcode5 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207021 小时前
如何搭建本地yum源(上)
运维
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉4 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦4 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw