今回はGitLab Projectでできる操作などを簡単に整理します。
Projectとは
GItLab Projectは、GIt管理するソースコードの置き場所を提供します。またProjectはIssueやMilestoneによる開発プロジェクトの管理、GitLab CI/CDによる自動ビルド・デプロイ、アクセストークンの発行や管理などの機能も提供し、GitLabを利用する上では必須のリソースです。
Projectへのアクセス権
GitLab Projectは、Projectの公開する範囲に応じて大きく以下の3種類に分けられます。
- Public: GitLabの認証ユーザー以外もアクセス可能
- Internal: GitLabの認証ユーザーがアクセス可能
- Private: Projectのメンバーがアクセス可能
Projectのアクセスレベルを変更するには、Projectの 設定
→ 一般
から プロジェクトの表示レベル
を修正します。
Projectの操作
Projectの作成
Projectの作成方法は以前触れたことがあるので、ここでは割愛します。
なおGitLab Project (Group) には予約済みのProject (Group) 名が存在し、該当の名称は作成時に利用できません。
Projectを表示する
ユーザーがProjectにアクセスするには、そのProjectがPublicであるか、またはProjectにメンバーに登録されている必要があります。各Projectを選択すると、以下のような画面が表示されます。
アクセスしたProjectのURLは以下のようになります。
- 個人のNamespace配下の場合:
https://gitlab.com/<Namespace名>/<Project名>
- Group配下の場合:
https://gitlab.com/<Group名>/<Project名>
またProjectは一意なIDが振られるので、https://gitlab.com/projects/<id>
のようにIDを指定してアクセスすることも可能です。
Projectのトップ画面では、以下のような情報を確認できます。
- Project名
- Projectの説明
- Projectに含まれるファイル群
- Topic
- Badge
- Star / Forkなどの数
- Projectのストレージサイズ
README
の記載内容- 作成日
Project情報を修正する
Project名や説明、アバターなどは修正できます。ただしProject URLはProject名変更後も作成時のものから変更されません。
Project URLを変更するには、GitLab設定画面の 設定
→ 一般
から 高度な設定
に移動し、 パスを変更
から変更する必要があります。
Project上のイベントを閲覧する
Project上のイベントを確認するには、 管理
→ アクティビティー
から確認します。
ここで確認できる情報は以下のイベントです。
Push events
: Project内のPushイベントMerge events
: Project内のAcceptされたMerge requestIssue events
: Project内のOpen/ClosedなIssueComments
: ProjectメンバーによるコメントDesigns
: Project内で追加・更新・削除されたデザインTeam
: Projectに参加・離脱したメンバー
Topic
TopicはProjectの役割や扱うソフトウェアを分かりやすくするラベルとして機能します。GitLabのドキュメントでは python
hackathon
という2つのTopicを使う例を紹介しており、このように開発言語や用途ごとにTopicを付与することができます。
Topicの設定はProjectの 設定
→ 一般
から可能です。
Topicを設定すると、以下のようにProject概要にも表示されます。
またTopicはProjectの検索でも利用できます。 GitLabの 検索
から トピック
を選択すると、以下のようにTopicの一覧や検索窓が表示されます。
Badge
BadgeもProjectの情報を可視化する機能です。Badgeは以下の3種類が利用可能です。TopicがProjectの扱うテーマを表したのに対し、Badgeは現在のProjectの状況を表すものと言えそうです。
Badgeの設定もProjectの 設定
→ 一般
から可能です。
ここではPipeline statusを設定してみます。以下のようにパラメータを設定します。
Badgeを設定すると、以下のようにProject概要に表示されます。
Projectをインポートする
GitLabでは、GitLab中の別Projectから、または別のソースコード管理サービスのリポジトリから、新しいProjectを作成できます。
ProjectのImport画面を見ると、以下のようにGitLab / BitBucket Cloud / FogBugzのほか、GitHub / AWS CodeCommitなどもURLを指定すればインポートできます。
Projectを移動する
ProjectはあるNamespaceから別のNamespaceに、または別のプランに移動できます。Projectを移動するにはProjectの 設定
→ 一般
の プロジェクトを転送
から、あるいはコンソールから実行できます。
Projectを削除する
Projectを削除するには、対象ProjectでOwner Roleが割り当てられている必要があります。Projectの削除もProjectの 設定
→ 一般
から可能です。
なおProjectの削除されるタイミングですが、個人NamespaceとGroupの場合で異なります。
- 個人Namespace配下の場合: 即時削除される
- Group配下の場合: 一定期間経過後に削除される
その他
Projectに関する以下の機能はPremium / Ultimateプランで利用できます。
- Project削除完了までの期間設定: GitLab Self-managed版でGroup配下のProjectを削除するとき、削除を完了するまでの猶予期間を設定できます。
- Projectを即時削除する: Project削除後の猶予期間中にもう一度Projectの削除操作を行うと、即時削除できます。
- 削除猶予中のProjectを確認する: 削除したProjectを確認できます。
- 削除猶予期間中のProjectを復元する: 猶予期間中であればProjectを復元できます。
- Project alias: 頻繁にアクセスされるProjectを移行する場合などに利用できます (Git over SSHのみ利用可能) 。