当前位置: 首页 > news >正文

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部署使用&#xff0c;jenkins部署使用在线安装gitlab下载gitlab安装gitlab使用gitlab设置中文修改管理员密码创建组,创建项目,创建用户jenkins下载jenkins安装jenkin使用jenkins更改管理员密码配置拉取代码配置登录gitlab拉取代码的账号密码配置项目配置gitlab仓库配置构…...

从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇下)

sunday功能包使用介绍以及开源 sunday我给自己机械臂的命名&#xff0c;原型是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广泛应用&#xff0c;那么window怎么使用gcc呢。就要用到gcc的window工具----MInGW&#xff0c;安装好之后&#xff0c;直接可以在windows的dos界面编译。下面讲解安装使用过程。1.官网下载MinGW - Minimalist GNU for Windows downl…...

【项目实战】SpringMVC配置全局属性,是实现WebMvcConfigurer接口,还是直接继承WebMvcConfigurationSupport类?

一、说明 官方推荐以下两种方式来配置全局的SpringMVC的相关属性 方式一:实现WebMvcConfigurer接口(推荐)方式二:直接继承WebMvcConfigurationSupport类。介绍一下两者区别吧。 二、 WebMvcConfigurer介绍 WebMvcConfigurer是一个接口,用于配置全局的SpringMVC的相关属…...

房产营销、地产中介如何高效低成本获客?

数字化对企业而言&#xff0c;机遇和挑战并存。房产企业可借助数字化加强日益扩大的业务规模和业务领域管理&#xff0c;以提升管理效率&#xff0c;降低管理难度&#xff1b;基于数字化技术加强客户的服务体验&#xff0c;进而收集多业态客户和场景数据&#xff0c;拓展创新业…...

Kotlin-作用域函数

在对象的上下文中执行代码块。当您在提供lambda表达式的对象上调用这样的函数时&#xff0c;它会形成一个临时作用域。在此范围内&#xff0c;可以不带名称地访问对象。这样的函数称为作用域函数。 let run with apply also 作用域函数不会引入任何新的技术功能&#xff0c;但它…...

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…...

论文投稿指南——中文核心期刊推荐(外国语言)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

Fabric系列 - 链码-内部链码的特性

(1)Fabric repo下的案例 Chaincode(1.4的目录结构) fabric/examples/chaincode/go ├── example02 #一个简单的转账合约 ├── eventsender #发送事件通知 ├── passthru #调用其他链码(或者其他channel的链码)example02 (转账) 一个简单的转账合约。该链码简单实…...

NetApp SnapCenter 备份管理 ——借助应用程序一致的数据备份管理,简化混合云操作

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

Java内置队列和高性能队列Disruptor

一、队列简介 队列是一种特殊的线性表&#xff0c;遵循先入先出、后入后出&#xff08;FIFO&#xff09;的基本原则&#xff0c;一般来说&#xff0c;它只允许在表的前端进行删除操作&#xff0c;而在表的后端进行插入操作&#xff0c;但是java的某些队列运行在任何地方插入删…...

比特数据结构与算法(第四章_下)二叉树的遍历

本章将会详细讲解二叉树遍历的四种方式&#xff0c;分别为前序遍历、中序遍历、后续遍历和层序遍历。在学习遍历之前&#xff0c;会先带大家回顾一下二叉树的基本概念。学习二叉树的基本操作前&#xff0c;需要先创建一颗二叉树&#xff0c;然后才能学习其相关的基本操作&#…...

chatGPT是什么

2022年11月&#xff0c;人工智能公司OpenAI推出了一款聊天机器人&#xff1a;ChatGPT。它能够通过学习和理解人类语言来进行对话&#xff0c;还能与聊天对象进行有逻辑的互动。除了聊天&#xff0c;ChatGPT还能够根据聊天对象提出的要求&#xff0c;进行文字翻译、文案撰写、代…...

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画一个炫酷的粒子动画倒计时

前言 &#x1f606; 这是一篇踩在活动尾声的文章&#xff0c;主要是之前在摸鱼社群里有人发了个粒子动画的特效视频&#xff0c;想着研究研究写一篇文章出来看看&#xff0c;结果这一下子就研究了半个多月。 &#x1f602; 下面就把研究成果通过文字的形式展现出来吧&#xf…...

Java技术学习——Maven相关知识

一、什么是Maven&#xff1f; Maven是Apache软件基金会组织维护的一款专门为Java项目提供构建和依赖管理支持的工具。 1.1 构建 构建过程包含的主要环节如下&#xff1a; 清理&#xff1a;删除上一次构建的结果&#xff0c;为下一次构建做好准备编译&#xff1a;Java源程序…...

C++ 认识和了解C++

1.在使用C语言写代码的时候开头要用到的是&#xff1a; #include<iostream> using namespace std;不可以写成这样&#xff1a; #include iostream.h&#xff08;1&#xff09;iostream是输入输出流类&#xff0c; istream输入流类 cin >> ostream输出流类 cout &…...

u盘误删的文件怎么找回

u盘误删的文件怎么找回?u盘的特点之一就是极其便携&#xff0c;可以容纳各种格式的数据和文件&#xff0c;需要时可以直接使用。每次使用都会或多或少的存放一些文件&#xff0c;但有使用就会有删除&#xff0c;为了不影响使用性&#xff0c;清理存储空间是必要的。清理中如果…...

二分查找由浅入深--算法--java

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

【学习】笔记本电脑重新安装系统win10

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

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

[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; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&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…...

以光量子为例,详解量子获取方式

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

人机融合智能 | “人智交互”跨学科新领域

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

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 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 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...