Gitlab 介绍
介绍
- GitLab Duo 是 GitLab 推出的 AI 驱动的 DevSecOps 工具套件,旨在协助开发者、安全专家和运维人员在软件开发的整个生命周期(SDLC)中提高效率。
部署
Docker 单进程
export GITLAB_HOME=/data/gitlab
mkdir ${GITLAB_HOME}/{config,data,logs} -p && cd ${GITLAB_HOME}
docker run -d \
-p 9080:80 \
-p 9443:443 \
-p 9022:22 \
--name gitlab \
--restart always \
--volume ${GITLAB_HOME}/config:/etc/gitlab \
--volume ${GITLAB_HOME}/data:/var/opt/gitlab \
--volume ${GITLAB_HOME}/logs:/var/log/gitlab \
gitlab/gitlab-ce:14.7.7-ce.0docker-compose 安装
# https://docs.gitlab.com/install/docker/installation/#install-gitlab-by-using-docker-compose
services:
gitlab:
image: gitlab/gitlab-ee:<version>-ce.0
container_name: gitlab
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
# gitlab_rails['gitlab_shell_ssh_port'] = 22
# Add any other gitlab.rb configuration here, each on its own line
external_url 'https://gitlab.example.com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
shm_size: '256m'使用
GitLab 修改管理员 root 密码
$ docker exec -it gitlab bash
$ /opt/gitlab/bin/gitlab-rails console
# 获取用户 root
$ u=User.find(1)
# 设置新密码
$ u.password='password'
$ u.password_confirmation = 'password'
# 保存 & 退出
$ u.save!
$ exit
# 重启 gitlab
gitlab-ctl restart权限
- Roles and permissions
- 用户在组中有五种权限
Guest(访客):不能读写代码,可以创建issue、发表评论Reporter(报告者):可克隆,但不能提交代码。QA、PM 可以赋予这个权限Developer(开发人员):可克隆、提交代码。RD 可以赋予这个权限Master(主程序员):可创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心 RD 负责人可以赋予这个权限Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
- 组和项目有三种访问权限
Private:只有组成员才能看到Internal:只要登录的用户就能看到Public:所有人都能看到
- Token
- Deploy Token 支持以只读的权限clone代码
Gitlab CI
- GitLab CI 是 GitLab 的持续集成(CI)和持续交付(CD)的工具
- 配置环境变量 repo -> Settings -> CI/CD -> Variables
F&Q
Urlis blocked: Requests to the local network are not allowed
点击 Settings -> Network -> Outbound requests
HA 实现
最近更新
最新评论