Jenkins+Gitlab实现代码自动构建部署

news2024/11/17 11:53:48

一、环境准备

主机名ip安装软件
jenkins192.168.75.149jenkins
gitlab192.168.75.147gitlab
web192.168.75.155部署应用

二、jenkins服务器配置

1、生产公钥

[root@jenkins ~]# ssh-keygen 

(2)获取公钥信息
公钥信息在配置 Gitlab SSH Keys 时用到。
在这里插入图片描述
(3)获取私钥信息
私钥信息在配置 Jenkins Publish over SSH 时用到。
在这里插入图片描述
(4)复制公钥到应用服务器

[root@jenkins ~]# ssh-copy-id 192.168.75.155

三、配置 Gitlab

1、创建示例项目 git-test
在这里插入图片描述
2、配置 SSH Keys
在这里插入图片描述
将jenkins的公钥复制过来,点击add key
在这里插入图片描述
3、配置 Access Token

在这里插入图片描述
点击create按钮
在这里插入图片描述
将生成的 Access Token 记录下来,后面在配置 GitLab 凭据时用到:
在这里插入图片描述

四、配置 Jenkins

1、安装插件

进入“插件管理”,安装插件:GitLab、Generic Webhook Trigger、Git Parameter、Publish Over SSH,安装完插件重启系统

2、配置 GitLab 凭据

进入系统配置,点击【添加】添加凭据
在这里插入图片描述
选择Gitlab API token,输入从gitlab生成的token,输入ID,点击确定
在这里插入图片描述
输入gitlab的连接名称、连接地址,点击【Test Connection】测试成功后点击【保存】
在这里插入图片描述

3、配置 Publish over SSH

进入系统配置,配置 Publish over SSH,输入jenkins的私钥
在这里插入图片描述
4、配置 SSH Servers

输入应用服务器的ip和用户名,点击测试,成功之后点击保存

注意:配置 Jenkins SSH Servers 时,Remote Directory 设为 “/”,如果不设置,文件会默认拷贝到 /root 目录下
在这里插入图片描述
5、创建任务

点击“新建任务”,创建任务 pipeline-test,选择自由风格的软件项目
在这里插入图片描述
6、配置任务

(1)配置git

输入gitlab的地址和凭证(我用的是用户名和密码的)
在这里插入图片描述
(2)构建触发器

在这里插入图片描述
点击高级,点击Generat生产token
在这里插入图片描述
(3)构建

选中“Send files or execute command over SSH”
在这里插入图片描述
在这里插入图片描述
(4)jenkins其他配置

勾选匿名用户具有可读权限
在这里插入图片描述
Error 403 No valid crumb was included in the request 报错解决 容器化jenkins关闭CSRF
参考链接:
进入jenkins容器修改/usr/local/bin/jenkins.sh脚本,将原来的exec java -Duser.home="$JENKINS_HOME" ${FUTURE_OPTS} "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@"改为
exec java -Duser.home="$JENKINS_HOME" -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true "${java_opts_array[@]}" -jar ${JENKINS_WAR} "${jenkins_opts_array[@]}" "$@",保存退出,重启容器即可

在这里插入图片描述
取消勾选Enable authentication for ‘/project’ end-point
在这里插入图片描述

五、配置 Gitlab Webhook

进入gitlab项目,选择webhook,填写jenkins上的地址和token保存即可

![在这里插入图片描述](https://img-blog.csdnimg.cn/8a14c15597254edbbcb484c42a8f4eb1.png
在这里插入图片描述
返回200则说明成功
在这里插入图片描述

六、测试

修改代码并 push 到远程仓库

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其他:需提前安装以下插件:gitlab hook-plugin,gitlab-plugin,gitlab

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tcpdump抓包验证zookeeper的心跳机制

一、背景 在分布式系统中,zookeeper可以作为服务注册中心,所有提供服务的节点都可以在zookeeper上面注册,并作为一个node被组织起来,如下图: 在RPC框架中,这些服务提供者就是RPC服务的提供者。zookeeper注…

【测试】Python手机自动化测试库uiautomator2和weditor的详细使用

1.说明 我们之前在电脑操作手机进行自动化测试,基本上都是通过Appium的,这个工具确实强大,搭配谷歌官方的UiAutomator基本上可以完成各种测试,但缺点也很明显,配置环境太麻烦了,需要jdk、sdk等&#xff0c…

利用较新版本的IDEA 2022.3.2 创建Java Web的maven项目

1.创建项目 正常三步走,没什么可说的 2.用模板创建项目(重要) 第一步,一定要选Jakarta EE。这个模板是基于JavaWeb的一个标准模板,如果选了maven中的JavaWeb模板,那就变成了web目录在根目录下,…

测试跟踪模块UX交互升级,多个X-Pack功能开放至开源版,MeterSphere开源持续测试平台v2.7.0发布

2023年2月24日,MeterSphere一站式开源持续测试平台正式发布v2.7.0版本。 在这一版本中,MeterSphere在测试跟踪模块进行了UX交互升级,整个页面采用轻量化设计进行整体降噪,页面信息更加清晰易懂,操作流程更顺畅&#x…

【学习笔记】深入理解JVM之类加载机制

【学习笔记】深入理解JVM之类加载机制 以后基本上都在语雀上面更新,大家有兴趣可以看看嗷! 首发地址: 知识库 文章流程图: 1、概述 首先我们先来看看一个 Class 文件所需要经过的一个流程图: 而我们今天要重点需讲的…

如何保护阿里云、政采云等云市场三方账号安全?

什么是云市场?根据百度百科释义,云市场是指物联网中分布在不同地点的海量的商品生产者和消费者之间各种经济关系的集合体,是通过相对集中的云平台资源联合物联网各个感知节点信息资源的方式,以运行分布在不同地点的海量的经济交换…

Java——数组

目录 前言 一、数组的定义 二、数组声明和创建 三、三种初始化及内存分析 Java内存分析 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 四、下标越界及小结 五、数组的使用 For-Each循环 数组作方法入参 数组作返回值 六、二维数组 七…

项目管理工具dhtmlxGantt甘特图入门教程(十四):导出/导入 Excel到 iCal

这篇文章给大家讲解利用dhtmlxgantt导入/导出Excel到iCal的操作方法。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库 DhtmlxGantt正版试用下载(qun;765665…

中国跨境平台出海,产业带依然是最大优势

对外贸工厂来说,借助跨境电商服务平台开拓海外市场可行吗?2023年2月11日,在郑州荥阳举办的Starday线下招商会联合线上直播荥阳站上,这是很多现场参会的企业负责人面对大屏上的招商介绍宣传时,大脑飞速思考的问题。2023…

android kotlin 协程(六) 源码浅析

android kotlin 协程(六) 源码浅析 前言: kotlin协程源码十分庞大, 本篇只能吧我理解的源码聊一聊,不会特别深入研究,只会浅浅的看看表层. 本来计划协程系列是10篇左右,后续是flow热流冷流之类的, 冷流操作符之类的应该不会在写了, flow当作Rxjava来用就可以,后续可能还会写一…

Bitlocker加密,与解除加密

引文:应为C盘空间不够用了,想着用U盘从新给C盘分下区。操作时才发现我系统里的磁盘都是Bitlocker加密的,分区工具操作不了磁盘,所以就找到一下方法来解决。1,先讲一下解除加密:直接点击 :设置-&…

python pandas 常用方法汇总

前言 一、pandas是什么? 二、使用步骤 1.引入库 2.处理时间序列数据 3.分组聚合(groupby) 3.1基本方法 3.2具体使用:如图包含三个字段,company、salary、age 总结 Pandas 最最常用函数罗列 Pandas 函数用法示…

软件测试2年半的我,谈谈自己的理解...

软件测试两年半的我,谈谈自己的理解从2020年7月毕业,就成为一名测试仔。日子混了一鲲年,感觉需要好好梳理一下自己的职业道路了,回顾与总结下吧。一、测试的定位做事嘛,搞清楚自己的定位很重要。要搞清楚自己的定位&am…

新手小白根据Forexclub6点建议就能选择到最佳外汇经纪商

选择外汇经纪商很重要,尤其是对于外汇交易者新手而言。 在确定您计划使用的外汇交易员之前,Forexclub建议考虑以下6个因素产品丰富即使在这个阶段,您只对外汇交易感兴趣,拥有期权也是件好事。 大多数外汇经纪商提供对其他金融资产…

Excel工作表不能移动或复制?看看是不是这两个原因

Excel工作表不能移动或复制?今天来看看如何解决。 大家都知道,Excel表格分为工作簿和工作表,工作簿就是整个Excel文件;工作簿里面,也就是Excel表可以有多个工作表。 而各个工作表之间是可以相互移动或复制的&#xf…

C++赋值运算符重载

赋值运算符重载 目录赋值运算符重载示例1:示例2:示例3:示例4:很巧妙的是,在编写这篇文章时(2023年2月27日),再加100天就是6月7日,恰好是今年高考的百日誓师! …

蓝库云|什么是供应链管理?SCM对制造业的重要性

企业在产品的销售经营上,往往不会考量到供应链管理(SCM)的流程规划,但现今的商业环境与以往不同,高度竞争与客户不断提升的期望,藉由做好供应链管理(SCM),才能更准时的提供优质产品与优良服务,增强企业竞争…

HTML、CSS学习笔记4(3D转换、动画)

目录 一、空间转换(3D转换) 1.空间位移 语法: 取值:(正负均可) 透视: 2.空间旋转 3.立体呈现 二、动画(animation) 1.动画的使用 先定义动画 再调用定义好的动画 …

YSYY科研试剂DSPE-PEG-Cholesterol;磷脂聚乙二醇胆固醇简介;DSPE-PEG-胆固醇

二硬脂酰磷脂酰乙酰胺-聚乙二醇-胆固醇,DSPE-PEG-CLS,DSPE-PEG-Cholesterol 结构式: 中文名称:二硬脂酰磷脂酰乙酰胺-聚乙二醇-胆固醇英文名称:1,2-distearoyl-sn-glycero-3-phosphoethanolamine-N-[ Cholesterol(polyethylene g…

消息队列介绍和RabbitMQ的安装

1.消息队列 1.1 MQ的相关概念 1.1.1 什么是MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在…