探码开发文档
  • 探码科技-发开日志
  • 代码规范
  • 前端
    • Bootstrap 模板
      • 图表类
      • Profile 类页面
    • JS Chart图表
    • 图片库
    • Icon图标库
    • Css3
      • 字体+背景混合搭配
      • tranform-origin + transform
      • flex
        • 布局左边自适应,右边固定宽度
    • 用Sass颜色函数控制颜色
    • Draggable组件库
  • Javascript
  • Ruby
    • Ruby on Rails
      • 数据库类
      • 日志类
      • 价格字段的单位转换
      • 部署
      • 根据设备类型自动渲染页面
      • 路由
    • Gems
    • Automating your API with JSON Schema
    • 深度冻结变量 Deep Freeze
    • 搭建私有Gem仓库
    • YAML语法
  • 数据库
    • PostgreSQL
      • 基础知识
        • PostgreSQL中插入数据
        • PostgreSQL中更新数据
        • PostgreSQL中删除数据
      • 数据库管理
      • select jsonb
    • PostgreSQL XL
      • Data Definition
      • 查询技巧
  • Docker
    • Docker日志收集最佳实践
    • Harbor搭建私有镜像服务
  • Kubernetes
    • 参考资源
    • Kubeadm方式安装Kubernetes
    • Rancher方式安装Kubernetes
      • RBAC集成
    • rke方式安装Kubernetes
    • RBAC用户管理
    • Traefik配置
    • 创建etcd集群
    • Kubeapps
    • 工具
    • 安装Helm
    • 亲和度配置
  • 文件系统
    • GlusterFS
  • 日志管理
    • Fluentd
  • VirtualBox
  • 工具软件
    • Alfred
    • 代码版本控制工具
    • Atom
    • Bash Shell
    • Vim
    • fzf(Fuzzy Finder)
    • Gitlab
  • Ubuntu
    • 安装 VPN服务
    • 安装DNSMasq
    • Keepalived
    • OpenSSL 使用技巧
  • Git
  • Nginx
    • 自动更新SSL证书
    • 使用stream模块实现负载均衡
  • 机器学习
Powered by GitBook
On this page
  • 维护
  • 解除IP屏蔽
  • 每周清理Registry数据
  1. 工具软件

Gitlab

Previousfzf(Fuzzy Finder)NextUbuntu

Last updated 6 years ago

维护

解除IP屏蔽

Gitlab默认开启了,当Gitlab Runner执行CI,频繁PUSH Docker镜像时,会造成频繁登录,然后IP被Gitlab禁止访问。

解决办法是把Gitlab Runner的IP加入到白名单,然后被禁止的IP从Redis中清除。

/etc/gitlab/gitlab.rb
 gitlab_rails['rack_attack_git_basic_auth'] = {
   'enabled' => true,
   'ip_whitelist' => ["127.0.0.1"],
   'maxretry' => 10,
   'findtime' => 60,
   'bantime' => 3600
 }
 
 # gitlab_rails['rack_attack_protected_paths'] = [
#   '/users/password',
#   '/users/sign_in',
#   '/api/#{API::API.version}/session.json',
#   '/api/#{API::API.version}/session',
#   '/users',
#   '/users/confirmation',
#   '/unsubscribes/',
#   '/import/github/personal_access_token'
# ]

查看屏蔽日志:

grep "Rack_Attack" /var/log/gitlab/gitlab-rails/production.log

    Rack_Attack: blacklist 182.149.159.201 POST /api/v4/runners

进入Redis CLI:

/opt/gitlab/embedded/bin/redis-cli -h 10.9.61.112

查看被禁止的IP:

keys *rack::attack*

解除禁止:

del cache:gitlab:rack::attack:allow2ban:ban:182.149.159.201

每周清理Registry数据

当Gitlab集成CI/CD和Docker Registry之后,每次部署时编译Docker镜像都会产生很多文件,时间长了,一些老的镜像过时了,我们会在Gitlab的Registry页面删除他们,可是这个删除动作不会删除服务器上Docker Registry所在目录的数据。gitlab-ctl提供了命令行清理Registry的垃圾数据:

/etc/crontab
0  0    * * 1   root    gitlab-ctl registry-garbage-collect

rack-attack