1
0

More than 3 years have passed since last update.

GitLab CEで .gitlab-ci.yml を変更されないようにファイルロックする方法 Git LFS

Last updated at Posted at 2019-12-13

はじめに

色々調べて、Git LFSによるファイルロックができたので、忘備録として作ってみた

要望

  • gitlab-ci.ymlをいじられたくない
  • 有料版Gitlabは使いたくない。CEのままがいい

ググる

「Gitlab file lock」とかでググると以下の二つにあたる

  • CODEOWNERS
  • FILE LOCKING

CODEO WNERS

Code Owners | GitLab

version historyを開くと

Introduced in GitLab Starter 11.3.
Support for group namespaces added in GitLab Starter 12.1.
Code Owners for Merge Request approvals was introduced in GitLab Premium 11.9.

CEに導入されてないので、パス

FILE LOCKING

GitLab Docs
File Locking | GitLab

Introduced in GitLab Premium 8.9.

CEに導入されてないので、パス

Git LFS (Large File Storage)

GitLab Docs
Git LFS | GitLab

サイズが大きいバイナリファイルをGitで管理しやすくする拡張機能の一つで、以下の記事にわかりやすく説明されてた
Git LFS で大きいサイズのバイナリファイルも Git で管理する

もう一つの特徴として、ファイルロック機能があったので試してみることに

Git LFS 導入

※Gitlabサーバーとは別のサーバーで作業してます

適当にディレクトリ作って、lockしたいファイルがあるgitをcloneする

mkdir git_lfs_test
cd git_lfs_test
git clone http://11.111.11.111/hoge/hogehoge.git

GitLab version8.2以降ならパッケージにgit-lfsがあるので、yum

yum install git-lfs

インストールされているかコマンドうってみる

git lfs install
Git LFS initialized.

ファイルロック

git lfs lock .gitlab-ci.yml
Username for 'http://11.111.11.111': GitlabのUsernameを入力
Password for 'http://root@11.111.11.111':パスワード入力
.gitlab-ci.yml  GitlabのName   ID:User ID

# ファイルロック一覧を確認
git lfs locks
Username for 'http://11.111.11.111': GitlabのUsername
Password for 'http://root@11.111.11.111':
.gitlab-ci.yml  GitlabのName   ID:User ID

Gitlabでlock時に入力したUsername以外でログインして、指定したファイルを編集し、commitすると

無題.png

できた

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0