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安装
前期准备:
关闭防火墙及 SELinuxsystemctl 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
### 准备 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=1yum makecache
yum install git # 客户端
yum install gitlab-cegitlab-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
修改中文界面:
配置邮箱
yum install -y postfix
systemctl enable postfix
systemctl start postfixvim /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) FOSSGitLab Shell: 14.34.0PostgreSQL: 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持续部署的,可以忽略
如果要设置则修改下图地方
创建用户:
你们开发或者其他人想加入到你这个项目里面来,你要怎么给他附赠权限呢,先建用户,再赋权。
点击群组 -- 进去赋权
命令行指引
您还可以按照以下说明从计算机中上传现有文件。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
下篇文章见