当前位置: 首页 > 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

http://www.lryc.cn/news/24352.html

相关文章:

  • 从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇下)
  • GCC编译器 MinGW的下载安装使用教程
  • 【项目实战】SpringMVC配置全局属性,是实现WebMvcConfigurer接口,还是直接继承WebMvcConfigurationSupport类?
  • 房产营销、地产中介如何高效低成本获客?
  • Kotlin-作用域函数
  • QNX7.1 交叉编译开源库
  • 论文投稿指南——中文核心期刊推荐(外国语言)
  • Fabric系列 - 链码-内部链码的特性
  • NetApp SnapCenter 备份管理 ——借助应用程序一致的数据备份管理,简化混合云操作
  • Java内置队列和高性能队列Disruptor
  • 比特数据结构与算法(第四章_下)二叉树的遍历
  • chatGPT是什么
  • jenkins漏洞集合
  • 用canvas画一个炫酷的粒子动画倒计时
  • Java技术学习——Maven相关知识
  • C++ 认识和了解C++
  • u盘误删的文件怎么找回
  • 二分查找由浅入深--算法--java
  • 【学习】笔记本电脑重新安装系统win10
  • RocketMQ的一些使用理解
  • Java枚举详解
  • 虚拟机上安装openKylin详细步骤总结
  • 夜天之书 #74 企业开源的软件协议模型实践(Part 2)
  • 2.webpack实时打包
  • KingbaseES V8R3 表加密
  • 2 为社么软件架构很重要?
  • Python 之 Pandas merge() 函数、set_index() 函数、drop_duplicates() 函数和 tolist() 函数
  • MySQL实战之深入浅出索引(下)
  • (二分查找)leetcode1539. 第 k 个缺失的正整数
  • yaml文件格式详解及实例