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 持续集成开发

  1. .gitlab-ci.yml 文件到项目根目录并提交到仓库
  2. 配置 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