gitlab、jenkins安装及使用文档一

gitlab-jenkins安装文档

IP地址 操作系统 服务版本
192.168.75.137 Rocky9.2 jenkins = 2.450-1.1 jdk = 11.0.22 git = 2.39.3
192.168.75.138 Rocky9.2 gitlab-ce = 16.10.0

gitlab安装

复制代码
前期准备:
关闭防火墙及 SELinux

systemctl disable --now firewalld
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
安装必备的工具
yum -y install net-tools vim lrzsz wget git  yum-utils telnet  unzip tar dnf

准备安装 gitlab

bash 复制代码
### 准备 yum 源
vim /etc/yum.repos.d/gitlab.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

yum makecache
yum install git   # 客户端
yum install gitlab-ce

gitlab-ctl reconfigure  #重新配置和应用 GitLab 的配置更改。
gitlab-ctl restart # 重启所有
也可以使用 systemctl管理
systemctl status gitlab-runsvdir
systemctl enable gitlab-runsvdir
复制代码
vim /etc/gitlab/gitlab.rb  # 修改默认的配置文件
# 用于指定 Git 数据存储的路径。
git_data_dirs({
  "default" => {
    "path" => "/data/git-data"
   }
})
# GitLab 的时区为亚洲/上海,这一列修不修改都可以
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# GitLab 的备份路径
gitlab_rails['backup_path'] = "/data/gitlab/backups"

gitlab常用命令

复制代码
gitlab-rake gitlab:env:info # 这个命令会列出 GitLab 的环境信息,包括版本号、安装路径等。
gitlab-ctl start    # 启动所有 
gitlab-ctl stop 	# 停止所有
gitlab-ctl restart  # 重启所有 
gitlab-ctl status   # 查看服务状态及程序版本:
gitlab-ctl reconfigure  # 启动服务
gitlab-ctl tail        # 查看日志;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab

访问gitlab

复制代码
访问:http://192.168.75.138:80
账号: root
密码: more /etc/gitlab/initial_root_password
修改中文界面:
配置邮箱
bash 复制代码
yum install -y postfix
systemctl enable postfix
systemctl start postfix

vim /etc/gitlab/gitlab.rb  ### 添加如下配置

gitlab_rails['gitlab_email_enabled'] = true
# 发信邮箱
gitlab_rails['gitlab_email_from'] = '18931306541@163.com'
gitlab_rails['gitlab_email_display_name'] = 'Example'

gitlab_rails['smtp_enable'] = true
# 服务器地址
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
# 发信邮箱 (这个设置为发信邮箱)
gitlab_rails['smtp_user_name'] = "yhl@163.com"
# smtp客户端授权码 (发信邮箱的授权码)
gitlab_rails['smtp_password'] = "SFDSWVNTICXDMIOJ"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
# 如果你的 SMTP 服务器要求使用 STARTTLS 加密,你可以将 smtp_tls 设置为 false,并将 smtp_enable_starttls_auto 设置为 true
gitlab_rails['smtp_enable_starttls_auto'] = false
# 如果你的 SMTP 服务器要求使用 TLS 加密,你可以将 smtp_tls 设置为 true,并将 smtp_enable_starttls_auto 设置为 false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
gitlab_rails['smtp_pool'] = false

# 重新加载配置文件
gitlab-ctl reconfigure

# 测试邮箱是否生效:
[root@gitlab postfix]#  gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]
 GitLab:       16.10.0 (ee32b9a6f7f) FOSS
 GitLab Shell: 14.34.0
 PostgreSQL:   14.10
------------------------------------------------------------[ booted in 57.13s ]
Loading production environment (Rails 7.0.8.1)
irb(main):001:0>  Notify.test_email('yhl@163.com','test','gitlab').deliver_now
Delivered mail 6603cba4dcf4d_da4e2cec-4d7@gitlab.mail (758.9ms)
=> #<Mail::Message:1572060, Multipart: false, Headers: <Date: Wed, 27 Mar 2024 
15:32:52 +0800>, <From: Example <yhl@163.com>>, <Reply-To: Example <noreply@gitlab.
example.com>>, <To: yhl@163.com>, <Message-ID: <6603cba4dcf4d_da4e2cec-4
d7@gitlab.mail>>, <Subject: test>, <Mime-Version: 1.0>, <Content-Type: text/html; 
charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, 
<X-Auto-Response-Suppress: All>>

下方的不用填写
____________________________________________________________
服务器地址:
POP3服务器: pop.163.com
SMTP服务器: smtp.163.com
IMAP服务器: imap.163.com
安全支持:
POP3/SMTP/IMAP服务全部支持SSL连接
QQ授权码开启位置
163授权码开启位置

配置gitlab

默认勾选前两个,如果是公司内网团队开发,可以设置为勾选1,3即可

流程 -- 公司如果没有gitlab,就要先创建gitlab,在创建组,组里面有人员,再把项目添加到组里面,那这个组里面的所有人就可以访问这个项目了

创建组、项目、用户
创建组:
创建项目:



导入成功 出现警告。

处理告警一:
如果不关联jenkins,则添加gitlab密钥,则下面操作在gitlab操作

复制代码
添加 SSH 密钥:
在 jenkins 服务器上执行   
[root@jenkins ~]# ssh-keygen 
[root@jenkins ~]# more .ssh/id_rsa.pub 
将内容粘贴到 SSH密钥中

处理告警二:

Auto DevOps流水线已启用。如果未找到CI配置文件,将使用该流水线。

此GitLab实例上尚未启用容器镜像库。请通知管理员启用以便Auto DevOps能够正常工作

这个是关于K8s持续部署的,可以忽略

如果要设置则修改下图地方

创建用户:
复制代码
你们开发或者其他人想加入到你这个项目里面来,你要怎么给他附赠权限呢,先建用户,再赋权。
复制代码
点击群组 -- 进去赋权
bash 复制代码
bash 复制代码
bash 复制代码
bash 复制代码
命令行指引
复制代码
您还可以按照以下说明从计算机中上传现有文件。

Git 全局设置
git config --global user.name "管理员"
git config --global user.email "admin@example.com"

创建一个新仓库
git clone http://192.168.75.138:80/devops/my-srb-1126.git
cd dt-qt
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送现有文件夹
cd existing_folder
git init
git remote add origin http://192.168.75.138:80/devops/my-srb-1126.git
git add .
git commit -m "Initial commit"
git push -u origin master

推送现有的 Git 仓库
cd existing_repo
git remote rename origin old-origin
git remote add origin http://192.168.75.138:80/devops/my-srb-1126.git
git push -u origin --all
git push -u origin --tags

完成了gitlab一套的安装。

接下来准备安装jenkins

下篇文章见

相关推荐
七夜zippoe3 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
Fcy6484 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满4 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠5 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9035 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技6 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀6 小时前
Linux环境变量
linux·运维·服务器
zzzsde6 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
聆风吟º8 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
NPE~8 小时前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化