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

下篇文章见

相关推荐
sun0077002 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
让生命变得有价值3 小时前
使用 helm 部署 gitlab
gitlab·helm
Kkooe3 小时前
GitLab|GitLab报错:PG::ConnectionBad: could not connect to server...
gitlab
吃肉不能购4 小时前
Label-studio-ml-backend 和YOLOV8 YOLO11自动化标注,目标检测,实例分割,图像分类,关键点估计,视频跟踪
运维·yolo·自动化
学Linux的语莫4 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
qq_312920114 小时前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
学Linux的语莫5 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
黑牛先生5 小时前
【Linux】进程-PCB
linux·运维·服务器
Karoku0665 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch