极狐GitLab 使用指南:artifacts 使用对象存储 S3

作者:徐晓伟

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。

在之前的文章极狐GitLab 使用指南:Runner Cache 缓存配置演示了 MinIO 的安装和配置。本文演示如何让极狐GitLab artifacts 使用对象存储 S3(MinIO)。

  1. 配置前准备

配置前需要准备好一下四个重要信息:

  • bucket_name: Buckets 名称,单独一个
  • access_key_id:秘钥ID
  • secret_access_key:秘钥凭证
  • endpoint:MinIO(S3)API 地址(非网页地址)
  1. 修改配置
vim /etc/gitlab/gitlab.rb

找到 gitlab_rails['artifacts_object_store_enabled'] 附近,修改为下列示例:

# gitlab_rails['artifacts_enabled'] = true
# gitlab_rails['artifacts_path'] = "/var/opt/gitlab/gitlab-rails/shared/artifacts"

# 上传 artifacts 开启对象存储
gitlab_rails['artifacts_object_store_enabled'] = true

# 代理访问(隐藏 S3 地址)
gitlab_rails['artifacts_object_store_proxy_download'] = true

# 对象储存保存的 bucket_name
gitlab_rails['artifacts_object_store_remote_directory'] = "gitlab-artifacts"
gitlab_rails['artifacts_object_store_connection'] = {
  # MinIO(S3)无需修改
  'provider' => 'AWS',
  # MinIO(S3)无需修改
  'region' => 'eu-west-1',
  # MinIO(S3)凭证ID
  'aws_access_key_id' => 'gitlab-access-id-xxx',
  # MinIO(S3)凭证秘钥
  'aws_secret_access_key' => 'gitlab-secret-key-xxx',
  # MinIO(S3)API 地址(非网页地址)
  # 其中 192.168.80.4:9000 就是 URL 拼接的 host
  'endpoint' => 'http://192.168.80.4:9000',
  # URL 拼接方式
  # true:host/bucket_name/object,如:http://192.168.80.4:9000/gitlab-uploads/object
  # false:bucket_name.host/object,如:http://gitlab-uploads.192.168.80.4:9000/object
  'path_style' => true
}
  1. 执行命令,让配置生效:
sudo gitlab-ctl reconfigure

root 用户可以不用执行 sudo。

  1. 执行流水线并上传产物文件测试

查看是否上传成功或者查看对象储存中是否存新增了这个产物文件。

  1. 迁移历史文件(可选)
# 将本地的文件迁移到 S3 中
sudo gitlab-rake gitlab:artifacts:migrate

root 用户可以不用执行 sudo。

更多关于极狐GitLab 的最佳实践,可以搜索关注公众号【极狐GitLab】或者登录极狐GitLab 官网进行学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值