jenkins+gitlab 实现自动化部署_jenkins与gitlab自动
wptr33 2025-09-04 19:43 2 浏览
目录
1、安装jdk,要记住安装路径
2、安装maven,要记住安装路径
3、安装git,要记住安装路径
4、安装gitlab
5、安装jenkins(centos7)
创建安装目录
下载通用war包
启动和关闭Jenkins
进入Jenkins后台
1、打开后台地址(jenkins默认端口8080,ip自行替换成自己外网的ip)
2、查看密码,初始化进入
4.设置管理员
5. 安装完成成功进入首页
6、配置jenkins
进入系统管理——》全局工具配置
配置jdk安装路径
配置maven安装路径
配置git
进入系统管理——》插件管理
安装Maven Integration
安装Publish Over SSH插件
进入系统管理——》系统配置
配置环境变量
配置SSH服务器地址
进入系统管理——》全局安全配置
勾选匿名用户具有可读权限,保存
linux命令关闭跨站请求伪造保护,修改jenkins的配置文件
7、新建任务
配置源码管理
配置构建环境
配置构建
配置构建后操作
8、获取API token
9、配置gitlab,当触发提交代码,则出道jenkins,进行拉取分支,打包,上传远程服务器,启动
主要流程:从git服务器检出项目 ——》maven打包 ——》上传远程服务器 ——》执行sh命令启动项目
1、安装jdk,要记住安装路径
2、安装maven,要记住安装路径
3、安装git,要记住安装路径
4、安装gitlab
5、安装jenkins(centos7)
创建安装目录
sudo mkdir -p /opt/jenkins && cd /opt/jenkins
下载通用war包
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
启动和关闭Jenkins
sudo service jenkins start
sudo service jenkins stop
开放端口,并重启防火墙:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
进入Jenkins后台
1、打开后台地址(jenkins默认端口8080,ip自行替换成自己外网的ip)
http://127.0.0.1:8080
2、查看密码,初始化进入
cat /var/lib/jenkins/secrets/initialAdminPassword
3.安装插件 选择第一个默认插件即可
说明:在安装插件的时候,有时候会安装很多失败的插件,这时候只能找百度解决了,我自己一步安装成功了所有插件。
4.设置管理员
5. 安装完成成功进入首页
6、配置jenkins
进入系统管理——》全局工具配置
配置jdk安装路径
配置maven安装路径
配置git
注意:通过如下命令查看git安装路径:
which git
/usr/bin/git
进入系统管理——》插件管理
安装Maven Integration
注意:是在可选插件tab栏搜索这个插件安装
安装Publish Over SSH插件
然后跟着操作提示安装然后重启jenkins ,在安装界面处,可以直接重启
进入系统管理——》系统配置
配置环境变量
配置SSH服务器地址
注意:密码配置在高级里面,打钩密码效验,输入服务器密码即可
进入系统管理——》全局安全配置
勾选匿名用户具有可读权限,保存
linux命令关闭跨站请求伪造保护,修改jenkins的配置文件
vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"
配置后重启jenkins。 service jenkins restart (一定要重启)
重启后进入系统管理——》全局安全配置,显示如下图,说明配置成功
这下就把所需要的配置都配置完啦!!!
7、新建任务
输入名字,选择第一个选项,构建自由风格的软件项目
然后进入如下页面,直接跳过General选项,进入源码管理,添加git地址
配置源码管理
ID随意。
配置构建环境
配置构建
注意:这里选择执行shell命令,其实就是maven打包命令
#!/bin/bash -il
#进入文件根目录
#cd "$WORKSPACE"
#项目打包
mvn clean install package '-Dmaven.test.skip=true'
注意开头要加#!/bin/bash -il,否则一直提升mvn 命令不成功。
配置构建后操作
上面的执行命令,是把这个jar上传到指定的服务器后,执行的命令,如启动jar服务。
命令如下:
#!/bin/bash
netstat -anp|grep 8811|awk '{printf $7}'|cut -d/ -f1 |xargs kill -9 || true
nohup java -jar /var/data/demo-0.0.1-SNAPSHOT.jar > /var/data/log.log 2>&1 &
注意:前面需要加上#!/bin/bash ,不然执行不成功,我自己弄了很多次。
如上命令,其实就是一个先关闭进程,在重新启动jar项目。需要改8811,和
/var/data/demo-0.0.1-SNAPSHOT.jar 还有/var/data/log.log。配置成自己即可。
赋值上传到指定路径权限:
chmod 777 /var/data
最后记得给8811开放端口:
sudo firewall-cmd --permanent --add-port=8811/tcp
firewall-cmd --reload
8、获取API token
点击用户名(admin)——》选择设置——》添加token ,输入用户名生成token,需要记录token,git回调需要用户token.
9、配置gitlab,当触发提交代码,则出道jenkins,进行拉取分支,打包,上传远程服务器,启动
Secret token,就是第七步获取的token。
相关推荐
- 第 28 章:核心功能 SQL 查询 - PostgreSQL入门
-
欢迎来到我们史诗级教程的最终章!在上一章,我们成功地构建了博客系统的数据库骨架。现在,这个结构精良的数据库正静静地等待着我们去使用它。...
- postgresql的6种索引介绍_postgresql默认用户名和密码
-
postgresql几种索引PostgreSQL支持多种索引类型,每种索引的设计原理、适用场景和优缺点各有不同。以下是对主要索引类型的详细介绍:...
- 第 20 章:索引与性能优化 - PostgreSQL入门
-
到目前为止,我们已经学习了如何设计表、保证数据完整性、以及如何用各种方式查询数据。但当我们的表从几十行增长到几百万、甚至上亿行时,一个之前只需要0.1秒的查询,可能会变成需要几分钟甚至几小时的“灾...
- PostgreSQL 主从复制 完整指南_主从复制mysql
-
PostgreSQL主从复制(StreamingReplication)完整指南PostgreSQL主从复制是一种实时同步数据的机制,可以实现高可用性(HA)、读写分离和负载均衡。其...
- PostgreSQL监控神器,千万注意这5大关键指标!
-
PostgreSQL监控神器,千万注意这5大关键指标!在当今数据驱动的业务环境中,数据库的性能和稳定性直接关系到企业的运营效率与用户体验。PostgreSQL作为一款功能强大的开源关系型数据库,被广泛...
- Retool 如何升级主应用 4TB 的 PostgreSQL 数据库
-
本文最初发布于Retool官方博客。...
- PostgreSQL查询计划_postgresql查询计划中的cost组成
-
深入解析PostgreSQL查询计划:优化性能的关键在数据库管理系统中,查询计划是执行SQL查询时的关键组成部分。PostgreSQL作为一款功能强大的开源关系型数据库,其查询计划的生成与优化对于提升...
- 第 27 章:数据库与表结构实现 - PostgreSQL入门
-
在上一章,我们已经绘制好了博客系统的宏伟蓝图。现在,是时候戴上安全帽,化身“建筑工程师”,将图纸上的设计一砖一瓦地搭建成真实的数据库结构了。...
- PostgreSQL事务处理_postgresql时区问题
-
PostgreSQL事务处理:原理、应用与优化引言...
- 第 14 章:集合运算 (UNION, INTERSECT, EXCEPT) - PostgreSQL入门
-
在之前的章节里,我们所有的操作(JOIN...
- PostgreSQL 安装指南及日常使用_postgresql 11安装
-
PostgreSQL安装与日常使用PostgreSQL是一款功能强大、开源的对象关系型数据库,支持高级SQL标准、扩展功能、事务完整性和高并发。本指南涵盖安装、配置、日常使用、性能优化、常见...
- 第 23 章:函数与存储过程 (PL/pgSQL) - PostgreSQL入门
-
到目前为止,我们与数据库的交互方式都是从外部客户端(如psql...
- PostgreSQL是不是你的下一个JSON数据库?
-
根据Betteridge定律(任何头条的设问句可以用一个词来回答:不是),除非你的JSON数据很少修改,并且查询很多。最新版的PostgreSQL添加更多对JSON的支持,我们曾经问过PostgreS...
- "揭秘PostgreSQL:你必须掌握的数据类型全解析!"
-
揭秘PostgreSQL:你必须掌握的数据类型全解析!在数据库管理系统中,PostgreSQL以其强大的功能和稳定性而著称。为了充分发挥其性能,理解并熟练掌握其数据类型是至关重要的。本文将深入探讨Po...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
程序员的开源月刊《HelloGitHub》第 71 期
-
假如有100W个用户抢一张票,除了负载均衡办法,怎么支持高并发?
-
详细介绍一下Redis的Watch机制,可以利用Watch机制来做什么?
-
Java面试必考问题:什么是乐观锁与悲观锁
-
如何将AI助手接入微信(打开ai手机助手)
-
redission YYDS spring boot redission 使用
-
SparkSQL——DataFrame的创建与使用
-
一文带你了解Redis与Memcached? redis与memcached的区别
-
如何利用Redis进行事务处理呢? 如何利用redis进行事务处理呢英文
-
- 最近发表
-
- 第 28 章:核心功能 SQL 查询 - PostgreSQL入门
- postgresql的6种索引介绍_postgresql默认用户名和密码
- 第 20 章:索引与性能优化 - PostgreSQL入门
- PostgreSQL 主从复制 完整指南_主从复制mysql
- PostgreSQL监控神器,千万注意这5大关键指标!
- Retool 如何升级主应用 4TB 的 PostgreSQL 数据库
- PostgreSQL查询计划_postgresql查询计划中的cost组成
- 第 27 章:数据库与表结构实现 - PostgreSQL入门
- 谁帮我看看,为啥我的PostgreSQL查询速度这么慢???
- PostgreSQL事务处理_postgresql时区问题
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)