centos 安装使用 gitlab
安装 gitlab 必要的依赖
注: gitlab 非常占内存,鄙人至少使用 3g 才够用
1
2
3
4
5
6
|
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# sudo firewall-cmd --permanent --add-service=http
# sudo systemctl reload firewalld
|
安装 Postfix 发送邮件通知
1
2
3
|
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
|
添加 gitlab 仓库安装包
1
|
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
|
安装 gitlab 包
1
2
|
# 注意这里的80端口 默认是80端口 如果想改访问端口请在这里配置
sudo EXTERNAL_URL="http://gitlab.matosiki.site:80" yum install -y gitlab-ee
|
浏览主机名并登陆
http://192.168.132:80
输入初始密码 matosiki
使用 root matosiki 登录
邮箱配置
1
2
3
4
5
6
7
8
9
10
|
vi /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_email_from'] = "matosiki_hz@163.com"
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "matosiki_hz@163.com"
gitlab_rails['smtp_password'] = "1234qwer"
gitlab_rails['smtp_authentication'] = true
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
|
1
2
|
gitlab-ctl reconfigure
gitlab-ctl restart
|
GitLab CI/CD 持续集成开发
- .gitlab-ci.yml 文件到项目根目录并提交到仓库
- 配置 Runner
进入项目配置 /gitlab-springboot/settings/ci_cd#js-runners-settings

看到手动安装的步骤:
注意 url :http://192.168.10.137/ 注册令牌 yyNGcR9sqVLKwDqUD4g_
进入 gitlab 机器中输入命令行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 安装 gitlba Runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-ci-multi-runner
## 完成测试
gitlab-ci-multi-runner
##注册
gitlab-ci-multi-runner register
# 注意这是填写上面的url
http://192.168.10.137/
## 注意这里填写上面的令牌
yyNGcR9sqVLKwDqUD4g_
## tags (用逗号分隔)
gitlab,runnner,集成,开发,测试
## 描述
my gitlab runner 一起干活
## 选择执行器 选择简单的shell
shell
## 验证启动是否成功
sudo gitlab-runner verify
## 启动runner 刷新gtilab网页 下方可以看到刚刚添加的runner
sudo gitlab-runner run
|
使用 pipeline 构建完成钉钉通知
使用 gitlab 添加 webhook,钉钉只支持 push 代码通知,如果要使用 pipeline 通知,需要添加自定义机器人。

在钉钉中添加自定义机器人

在.gitlab-ci.yml
文件中添加curl
配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
stages:
- build
# 自定义变量
variables:
# 进程名(编译出来后的文件名)
ProcessName: "uam-client"
DeployPath: "/data/nginx/html/${ProcessName}/"
cache:
paths:
- node_modules/
build:
stage: build
tags:
- dev
script:
- npm install --unsafe-perm
- npm run lint
- npm run build
- rm -rf $DeployPath
- mv -f dist/ $DeployPath
- curl -X POST -H "Content-type:application/json;charset=utf-8;" "${DingDingWebhook}" --data-ascii '{"msgtype":"link","link":{"title":"[gitlab pipeline]:'${CI_PROJECT_NAME}'项目构建成功啦","text":"分支:'${CI_COMMIT_REF_NAME}'\n提交:'${CI_COMMIT_SHA:0:6}'","picUrl":"'${DingDingWebhook_IMG}'","messageUrl":"'${CI_JOB_URL}'"},"at":{"isAtAll":false}}'
|
参考文档
gitlab 官方文档
linux 手动安装 runnner
仓库选择安装 runnner
runnner-register
runnner-executors