gitlab部署使用,jenkins部署使用
gitlab部署使用,jenkins部署使用
- 在线安装
- gitlab
- 下载gitlab
- 安装gitlab
- 使用gitlab
- 设置中文
- 修改管理员密码
- 创建组,创建项目,创建用户
- jenkins
- 下载jenkins
- 安装jenkin
- 使用jenkins
- 更改管理员密码
- 配置拉取代码
- 配置登录gitlab拉取代码的账号密码
- 配置项目
- 配置gitlab仓库
- 配置构建
- 构建
- 构建成功
- 离线安装
- 离线安装jenkins报错
- 1.无法进入jenkins
- 错误现象
- 解决报错
- 删除旧的jenkins文件
- 2.无法创建凭证
- 错误现象
- 解决报错
- 修改配置文件
在线安装
gitlab
下载gitlab
https://docs.gitlab.com/ee/update/package/#upgrade-using-the-official-repositories
https://packages.gitlab.com/gitlab/gitlab-ce?_gl=11rafpow_gaMjcwMDkzMDU4LjE2NzcyOTM4MzQ._ga_ENFH3X7M5Y*MTY3NzQwMzEzMi4zLjEuMTY3NzQwMzI0Ny4wLjAuMA…
安装gitlab
安装jdk,版本1.8以上
yum -y install java-1.8.0-openjdk.x86_64
安装gitlab rpm包
yum -y install gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm
配置gitlab访问地址
#配置域名,需要有相应的DNS解析
#ip为git喇叭服务器自身IP地址
vim /etc/gitlab/gitlab.rb
external_url 'http://ip'
external_url 'http://ip'
加载配置
gitlab-ctl reconfigure
查看gitlab状态
[root@gitlab ~]# systemctl status gitlab-runsvdir.service
● gitlab-runsvdir.service - GitLab Runit supervision processLoaded: loaded (/usr/lib/systemd/system/gitlab-runsvdir.service; enabled; vendor preset: disabled)Active: active (running) since Sun 2023-02-26 11:16:33 CST; 6h agoMain PID: 11742 (runsvdir)
使用gitlab
查看gitlab管理员密码
管理员 root
less /etc/gitlab/initial_root_password
登录gitlab
curl http://ip
设置中文
修改管理员密码
创建组,创建项目,创建用户
jenkins
下载jenkins
jenkins网址
https://www.jenkins.io/
https://www.jenkins.io/download/
https://get.jenkins.io/war-stable/
安装jenkin
安装jdk,版本1.8以上
yum -y install java-1.8.0-openjdk.x86_64
配置工作目录
#不做配置默认目录为 /root/.jenkins/
vim /etc/profile
export JENKINS_HOME=/data/CICD
加载环境变量
source /etc/profile
启动jenkins,日志路径根据情况自定义
nohup java -jar jenkins.war > /root/jenkins.log 2>&1 &
- 或编写脚本启动
vim jenkins-start.sh
#!/bin/bashdate=$(date +'%Y-%m-%d')
nohup java -jar jenkins.war > /root/jenkins-${date}.log 2>&1 &
使用jenkins
日志查看管理员密码
less /root/jenkins-2023-02-26.log
登录jenkins
http://ip:8080
管理员 admin
插件选择推荐在线安装
查看插件
更改管理员密码
保存更改,重新登录
配置拉取代码
配置登录gitlab拉取代码的账号密码
此处选择账号密码,填入gitlab的管理员账号密码,保存
配置项目
配置gitlab仓库
查看gitlab仓库地址
选择git,配置仓库地址,选择凭证
选择分支
配置构建
配置构建脚本,mvn,npm等
使用GitLab webhook
安装gitlab插件才能使用GitLab webhook,
实现gitlab推送代码,jenkins自动构建
jenkins配置
gitlab配置
进入要配置的项目,填入jenkins上的url和token
构建
构建成功
离线安装
#上传jenkins的war包到服务器
#启动jenkins,如不做jenkins家目录变更,执行
#操作已在线安装jenkins的服务器
cd /root/.jenkins/
tar -zcf plugin.tar.gz plugin#操作离线要安装jenkins的服务器
#上传在线安装时已下载的Jenkins插件到服务器到的jenkins插件目录
tar -xf plugin.tar.gz -C /root/.jenkins/
#重启jenkins
离线安装jenkins报错
1.无法进入jenkins
错误现象
离线安装输入初始密码后,卡在检测到离线安装的页面,页面显示两个选项,配置代理和跳过插件安装
点击跳过插件安装后,403报错,无法进入jinkens
解决报错
原因为服务器之前安装过jenkins
删除旧的jenkins文件
find / -iname jenkins | xargs -n 1000 rm -rf
重新启动jenkins
2.无法创建凭证
错误现象
Jenkins离线安装,进入jenkins后,创建凭证报错403
HTTP ERROR 403 No valid crumb was included in the request
....
....
....
Powered by Jetty://9.4.33......
解决报错
解决参考:
https://www.cnblogs.com/guohong-hu/p/14519220.html
原因是新版Jenkins的CSRF安全校验问题导致
修改配置文件
我在安装时修改过jenkins的家目录,因此配置文件位置在`/data/CICD/config.xm
vim config.xml
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer"><excludeClientIPFromCrumb>false</excludeClientIPFromCrumb></crumbIssuer>
修改false为true
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer"><excludeClientIPFromCrumb>true</excludeClientIPFromCrumb></crumbIssuer>
重新启动jenkins
相关文章:

gitlab部署使用,jenkins部署使用
gitlab部署使用,jenkins部署使用在线安装gitlab下载gitlab安装gitlab使用gitlab设置中文修改管理员密码创建组,创建项目,创建用户jenkins下载jenkins安装jenkin使用jenkins更改管理员密码配置拉取代码配置登录gitlab拉取代码的账号密码配置项目配置gitlab仓库配置构…...
从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇下)
sunday功能包使用介绍以及开源 sunday我给自己机械臂的命名,原型是innfos的gluon机械臂。通过sw模型文件转urdf。Sunday项目主要由六个功能包sunday_description、sunday_gazebo、sunday_moveit_config、yolov5_ros、vacuum_plugin、realsense_ros_gazebo组成&…...

GCC编译器 MinGW的下载安装使用教程
哎 总所周知 gcc可以用来编译C 和C。在linux广泛应用,那么window怎么使用gcc呢。就要用到gcc的window工具----MInGW,安装好之后,直接可以在windows的dos界面编译。下面讲解安装使用过程。1.官网下载MinGW - Minimalist GNU for Windows downl…...
【项目实战】SpringMVC配置全局属性,是实现WebMvcConfigurer接口,还是直接继承WebMvcConfigurationSupport类?
一、说明 官方推荐以下两种方式来配置全局的SpringMVC的相关属性 方式一:实现WebMvcConfigurer接口(推荐)方式二:直接继承WebMvcConfigurationSupport类。介绍一下两者区别吧。 二、 WebMvcConfigurer介绍 WebMvcConfigurer是一个接口,用于配置全局的SpringMVC的相关属…...

房产营销、地产中介如何高效低成本获客?
数字化对企业而言,机遇和挑战并存。房产企业可借助数字化加强日益扩大的业务规模和业务领域管理,以提升管理效率,降低管理难度;基于数字化技术加强客户的服务体验,进而收集多业态客户和场景数据,拓展创新业…...
Kotlin-作用域函数
在对象的上下文中执行代码块。当您在提供lambda表达式的对象上调用这样的函数时,它会形成一个临时作用域。在此范围内,可以不带名称地访问对象。这样的函数称为作用域函数。 let run with apply also 作用域函数不会引入任何新的技术功能,但它…...

QNX7.1 交叉编译开源库
1.下载QNX7.1 SDK并解压 ITL:~/work/tiqnx710$ ls -l 总用量 16 drwxrwxr-x 4 xxx4096 1月 28 13:38 host -rwxrwxr-x 1 xxx 972 1月 28 13:38 qnxsdp-env.bat -rwxrwxr-x 1 xxx 1676 1月 28 13:38 qnxsdp-env.sh drwxrwxr-x 3 xxx 4096 1月 28 13:38 target xxxITL:~/work/ti…...

论文投稿指南——中文核心期刊推荐(外国语言)
【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...
Fabric系列 - 链码-内部链码的特性
(1)Fabric repo下的案例 Chaincode(1.4的目录结构) fabric/examples/chaincode/go ├── example02 #一个简单的转账合约 ├── eventsender #发送事件通知 ├── passthru #调用其他链码(或者其他channel的链码)example02 (转账) 一个简单的转账合约。该链码简单实…...

NetApp SnapCenter 备份管理 ——借助应用程序一致的数据备份管理,简化混合云操作
NetApp SnapCenter 简单、可扩展、赋权:跨 Data Fabric 的企业级数据保护和克隆管理 主要优势 • 利用与应用程序集成的工作流和预定义策略简化备份、恢复和克隆管理。 • 借助基于存储的数据管理功能提高性能和可用性,并缩短测试和开发用时。 • 提供基…...

Java内置队列和高性能队列Disruptor
一、队列简介 队列是一种特殊的线性表,遵循先入先出、后入后出(FIFO)的基本原则,一般来说,它只允许在表的前端进行删除操作,而在表的后端进行插入操作,但是java的某些队列运行在任何地方插入删…...

比特数据结构与算法(第四章_下)二叉树的遍历
本章将会详细讲解二叉树遍历的四种方式,分别为前序遍历、中序遍历、后续遍历和层序遍历。在学习遍历之前,会先带大家回顾一下二叉树的基本概念。学习二叉树的基本操作前,需要先创建一颗二叉树,然后才能学习其相关的基本操作&#…...
chatGPT是什么
2022年11月,人工智能公司OpenAI推出了一款聊天机器人:ChatGPT。它能够通过学习和理解人类语言来进行对话,还能与聊天对象进行有逻辑的互动。除了聊天,ChatGPT还能够根据聊天对象提出的要求,进行文字翻译、文案撰写、代…...
jenkins漏洞集合
目录 CVE-2015-8103 反序列化远程代码执行 CVE-2016-0788 Jenkins CI和LTS 远程代码执行漏洞 CVE-2016-0792 低权限用户命令执行 CVE-2016-9299 代码执行 CVE-2017-1000353 Jenkins-CI 远程代码执行 CVE-2018-1000110 用户枚举 CVE-2018-1000861 远程命令执行 CVE-2018…...

用canvas画一个炫酷的粒子动画倒计时
前言 😆 这是一篇踩在活动尾声的文章,主要是之前在摸鱼社群里有人发了个粒子动画的特效视频,想着研究研究写一篇文章出来看看,结果这一下子就研究了半个多月。 😂 下面就把研究成果通过文字的形式展现出来吧…...
Java技术学习——Maven相关知识
一、什么是Maven? Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具。 1.1 构建 构建过程包含的主要环节如下: 清理:删除上一次构建的结果,为下一次构建做好准备编译:Java源程序…...

C++ 认识和了解C++
1.在使用C语言写代码的时候开头要用到的是: #include<iostream> using namespace std;不可以写成这样: #include iostream.h(1)iostream是输入输出流类, istream输入流类 cin >> ostream输出流类 cout &…...
u盘误删的文件怎么找回
u盘误删的文件怎么找回?u盘的特点之一就是极其便携,可以容纳各种格式的数据和文件,需要时可以直接使用。每次使用都会或多或少的存放一些文件,但有使用就会有删除,为了不影响使用性,清理存储空间是必要的。清理中如果…...

二分查找由浅入深--算法--java
二分查找写在开头算法前提:算法逻辑算法实现简单实现leftright可能超过int表示的最大限度代码分析和变换更多需求:求索引最小的值java二分API应用基础题思考难度方法写在开头 二分查找应该是算比较简单的这种算法了,我本以为还可以。但有时候…...

【学习】笔记本电脑重新安装系统win10
安装系统有很多方法: 软件安装制作启动u盘本文使用的方法就是启动盘安装: 1.首先下载iso镜像文件: msdn我告诉你:MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn) 2.下载启动盘制作工具: 制作启动盘rufus:Rufus - 轻松创建 USB 启动盘 3.官网下载: https://do…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...