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…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
