Jenkins+maven+gitlab+shell 实现项目自动化部署

以前部署项目步骤比较繁琐,要先拉代码再通过maven打包,再上传,然后一切顺利的情况下启动tomcat,然后结束,一切太人工化也比较浪费实现,下面是工作之余在测试环境上搭建的一套流程

搭建之前要确认,jdk , maven,git 这些已经在服务器上搭建成功,这些搭建都比较简单,这这里就不再赘述,gitlab使用的是公司服务也没有进行搭建

下面是jenkins的两种搭建方式

  1. 第一种比较简单下载对应jenkins.war包启动命令如下

wget http://mirrors.jenkins.io/war/latest/jenkins.war

nohup java -jar jenkins.war --httpPort=8081 &

    1. 使用install来进行安装

(1) wget --O /etc/yum.repos.d/jenkins.repohttp://pkg.jenkins-ci.org/redhat-stable/jenkins.repo

(2) rpm --importhttps://jenkins-ci.org/redhat/jenkins-ci.org.key

(3) yum install -y jenkins

(4) vim /etc/sysconfig/jenkins(这里可以更改jenkins的主目录,想改就改不想改就用默认)

(5) vim /etc/init.d/jenkins(这里是jenkins的启动脚本设置不进行设置的话 直接咨询下面命令即可)

cp -r/usr/data/jdk/bin/* /usr/bin (前面是自己的jdk的目录)

上面操作完成之后基本上就已经安装完成,但是会有权限问题,下面提供两种方式

1. 因为jenkins的主目录所属用户为jenkins所以操作起来很多是没有权限的chown -R jenkins:jenkins /Jenkins_hom

2.d 这种方式比较暴力直接把jenkins用户更改为root用户

  1. vim/etc/sysconfig/jenkins

  2. 找到$JENKINS_USER改为 "root":

$JENKINS_USER="root"

3)然后更改Jenkinshome,webroot和日志的所有权:

chown -Rroot:root /var/lib/jenins

chown -Rroot:root /var/cache/jenkins

chown -Rroot:root /var/log/jenkins

4).重新启动Jenkins并检查用户是否已被更改

service jenkinsrestart

这样我们就给jenkins设置了root权限,我们再运行shell脚本就不会提示权限问题了。

这样就完成了整个操作,下面是页面上的操作

我们再浏览器上进行访问:

http://10.16.6.29:8888

第一次访问页面会出现如下界面:

按照上面提示获取初始化密码进入如下界面

按照上面提示获取初始化密码进入如下界面

建议先安装上面提示的建议插件这样会省去一下麻烦(以防你不知道需要安装什么还有一些乱七八糟的问题)然后进入如下界面:

耐心等待全部下载完成之后开始进行用户的创建:

创建完成之后 save andfinish 按照提示继续往下走

点击start using Jenkins进入如下界面

OK 上面完成之后我们开始进入一些插件的按照

选择系统管理进入管理插件界面

在可选插件界面选择我们要按照的插件这里我按照如下插件:

Git ,gitlab ,ssh,publish over ssh , Deploy to container, maven...按照需要安装

选择系统管理进入系统配置

点击系统配置之后进入如下:

安装上面配置自己的ssh服务就是你的服务器,点击测试成功即可

下面进行配置基本设置:

需要配置什么呢?看下面截图依次配置即可

最后应用保存即可至此全局配置以及配置完毕接下来开始新建任务:

点击新建任务:

输入名称选择maven项目,点击确定就可以了

进入项目构建配置:

1.选择源码管理选中git,

Repository URL:自己项目的git地址

Credentials:点击add

输入自己的git项目的用户名和密码点击ok即可。

2.点击构建环境

执行目标那里不需要mvn 执行写命令并跳过测试就可以了。

3.点击pre stepts 并选中执行shell

Shell 脚本如下:

BUILD_ID :这个必须要有,否则tomcat起不来,暂时不知为何

TOMCAT_DIR:tomcat主目录

cp -- r$JENKINS_HOME/workspace/项目/target/编译过的内容 /项目映射路径

保存完成之后点击立即构建,看下配置效果:

到此jenkins自动化部署完成

相关推荐
0和1的搬运工9 小时前
基于Java+SpringBoot+Vue+HTML5高校教师电子名片系统(源码+LW+调试文档+讲解等)/高校教师/电子名片/系统/教育科技/教育信息化/名片管理/电子身份/教师信息管理/校园信息化
spring cloud·tomcat·log4j·maven·intellij-idea·dubbo·java-consul
xmlhcxr11 小时前
从 0 到 1 落地企业级 DevOps CI/CD 流水线:基于 GitLab+Jenkins+Harbor 的完整实践
运维·docker·gitlab·jenkins·harbor·devops
devilnumber14 小时前
maven依赖的直接下载jar
java·maven
lbb 小魔仙14 小时前
内网 Jenkins 如何实现公网访问?我解决了这个痛点!
运维·jenkins
高旭的旭1 天前
GitLab Omnibus Docker 内存优化实战:从 4.7 GiB 降到 3.2 GiB
docker·容器·gitlab
铁皮哥1 天前
【后端/Agent 开发】给你的项目配置一套 .claude/ 工作流:别再裸用 Claude Code 了!
java·windows·python·spring·github·maven·生活
摇滚侠2 天前
Unsupported class file major version 61
java·maven
abcnull2 天前
Springboot+Vue2的Web项目小白入门Demo快速学习!
java·elementui·vue·maven·springboot·web·小白
牛奶咖啡132 天前
CI/CD——使用Jenkins自动化构建java项目之使用传统方式部署java web项目jpress
ci/cd·jenkins·jenkins创建任务·实现jpress的自动化部署·git的ssh主机密钥问题解决·配置ssh免密登录·在线安装jdk1.8环境
弹简特3 天前
【精通Postman接口测试】04-Postman的CLI命令+Jenkins和Newman+Allure+Jenkins自动化接口持续集成
自动化·jenkins·接口测试·postman