GitLab CEで .gitlab-ci.yml を変更されないようにファイルロックする方法 Git LFS
はじめに
色々調べて、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://[email protected]':パスワード入力
.gitlab-ci.yml GitlabのName ID:User ID
# ファイルロック一覧を確認
git lfs locks
Username for 'http://11.111.11.111': GitlabのUsername
Password for 'http://[email protected]':
.gitlab-ci.yml GitlabのName ID:User ID
Gitlabでlock時に入力したUsername以外でログインして、指定したファイルを編集し、commitすると
できた
Author And Source
この問題について(GitLab CEで .gitlab-ci.yml を変更されないようにファイルロックする方法 Git LFS), 我々は、より多くの情報をここで見つけました https://qiita.com/falsehood/items/9c39405e10e7395d4470著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .