プロジェクトを管理する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabでのほとんどの作業は、プロジェクト内で行われます。ファイルとコードはプロジェクトに保存され、ほとんどの機能はプロジェクトのスコーピング内にあります。
プロジェクトの概要
プロジェクトを選択すると、プロジェクトの概要ページにプロジェクトの次の内容が表示されます。
- リポジトリ内のファイル
- プロジェクト情報(プロジェクトの説明)
- トピック
- バッジ
- プロジェクト内のお気に入り、フォーク、コミット、ブランチ、タグ、リリース、環境の数
- コミット数は、プロジェクトのデフォルトブランチから計算され、すべてのブランチから計算されるわけではありません。
- プロジェクトのストレージサイズ
- オプションのファイルと設定
READMEまたはインデックスファイル- Wikiページ
- ライセンス
- 変更履歴
- コントリビュートのガイドライン
- Kubernetesクラスター
- CI/CD設定
- インテグレーション
- GitLab Pages
- 作成日
パブリックプロジェクト、およびプロジェクトのコードを表示する権限を持つ内部プロジェクトとプライベートプロジェクトのメンバーの場合、プロジェクトの概要ページには以下が表示されます。
READMEまたはインデックスファイル- プロジェクトのリポジトリ内のディレクトリのリスト
プロジェクトのコードを表示する権限を持たないユーザーの場合、概要ページには以下が表示されます。
- Wikiのホームページ。
- プロジェクト内のイシューのリスト。
https://gitlab.example.com/projects/<id>で、名前の代わりにIDを使用してプロジェクトにアクセスできます。たとえば、パーソナルネームスペースalexにID 123456のプロジェクトmy-projectがある場合、https://gitlab.example.com/alex/my-projectまたはhttps://gitlab.example.com/projects/123456でプロジェクトにアクセスできます。
プロジェクトIDを見つける
GitLab APIを使用してプロジェクトと対話する場合、プロジェクトIDが必要になることがあります。
プロジェクトIDを見つけるには、次の手順を実行します。
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- プロジェクトの概要ページの右上隅で、アクション( )を選択します。
- プロジェクトIDをコピーを選択します。
プロジェクトを表示
プロジェクトリストを使用して、以下を表示します:
- インスタンス上のすべてのプロジェクト
- 作業している、またはオーナーであるプロジェクト
- 非アクティブなプロジェクト(アーカイブされたプロジェクトおよび削除保留中のプロジェクトを含む)
インスタンス上のすべてのプロジェクトを探索
GitLabインスタンス上のすべてのプロジェクトを表示します。アクティブなプロジェクト、非アクティブなプロジェクト、およびトレンドプロジェクトでリストをフィルタリングします:
- アクティブなプロジェクトとは、最近アクティビティがあった、または開発が進行中のプロジェクトです。
- 非アクティブなプロジェクトとは、アーカイブされているか、削除がスケジュールされているプロジェクトです。
- トレンドプロジェクトとは、過去30日間に受け取ったコメント数に基づいて人気があると見なされる公開プロジェクトです。
認証されていない場合、リストにはパブリックプロジェクトのみが表示されます。
GitLabインスタンス上のプロジェクトを表示するには:
- 上部のバーで、検索または移動先を選択します。
- 検索を選択します。
- オプション。表示するプロジェクトをフィルタリングするタブを選択します。
作業中のプロジェクトを表示
対話したことのあるプロジェクトを表示するには:
- 上部のバーで、検索または移動先を選択します。
- すべてのプロジェクトを表示を選択します。
- オプション。表示するプロジェクトをフィルタリングするタブを選択します:
- コントリビュート済み: 以下の操作を行ったプロジェクト:
- イシュー、マージリクエスト、またはエピックを作成したプロジェクト
- イシュー、マージリクエスト、またはエピックにコメントしたプロジェクト
- イシュー、マージリクエスト、またはエピックを完了したプロジェクト
- コミットをプッシュしたプロジェクト
- マージリクエストを承認したプロジェクト
- マージリクエストをマージしたプロジェクト
- Star付き: Star付きのプロジェクト
- 個人: 個人のネームスペースで作成されたプロジェクト
- メンバー: あなたがメンバーであるプロジェクト
- 非アクティブ: アーカイブされたプロジェクトと削除保留中のプロジェクト
- コントリビュート済み: 以下の操作を行ったプロジェクト:
Star付きプロジェクトと個人プロジェクトは、個人プロファイルから表示することもできます:
- 右上隅で、アバターを選択し、次にユーザー名を選択します。
- 左サイドバーで、Star付きのプロジェクトまたはパーソナルプロジェクトを選択します。
非アクティブなプロジェクトを表示
プロジェクトは、削除保留中であるか、アーカイブされている場合に非アクティブになります。
すべての非アクティブなプロジェクトを表示するには:
- 次のいずれかを選択します。
- すべてのプロジェクトを表示して、プロジェクトをフィルタリングします。
- 検索: アクセスできるすべてのプロジェクトをフィルタリングします。
- 無効タブを選択します。
リスト内の各非アクティブなプロジェクトには、プロジェクトがアーカイブされているか、削除保留中であることを示すバッジが表示されます。
プロジェクトが削除保留中の場合、リストには以下も表示されます:
- プロジェクトが最終削除される予定の時刻
- A 復元アクション。プロジェクトを復元すると:
- 削除保留中ラベルが削除されます。プロジェクトは削除対象としてスケジュールされなくなります。
- プロジェクトは非アクティブタブから削除されます。
自分が所有するプロジェクトのみを表示する
自分がオーナーであるプロジェクトのみを表示するには:
- 上部のバーで、検索または移動先を選択します。
- 次のいずれかを選択します。
- すべてのプロジェクトを表示: プロジェクトをフィルタリングします。
- 検索: アクセスできるすべてのプロジェクトをフィルタリングします。
- プロジェクトリストの上にある検索または結果をフィルタリングを選択します。
- ロールドロップダウンリストで、オーナーを選択します。
プロジェクトアクティビティを表示する
プロジェクトのアクティビティを表示するには:
上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
管理 > アクティビティを選択します。
オプション。コントリビュートの種類でアクティビティをフィルタリングするには、次のタブを選択します。
- すべて: プロジェクトメンバーによるすべてのコントリビュート
- プッシュイベント: プロジェクト内のプッシュイベント
- マージイベント: プロジェクトで承認されたマージリクエスト
- イシューイベント: プロジェクトでオープンおよびクローズされたイシュー
- コメント: プロジェクトメンバーが投稿したコメント
- デザイン: プロジェクトで追加、更新、削除されたデザイン
- チーム: プロジェクトに参加および離脱したメンバー
GitLabは、パフォーマンス上の理由から、3年以上前のプロジェクトアクティビティイベントをイベントテーブルから削除します。
言語でプロジェクトをフィルタリングする
使用されているプログラミング言語でプロジェクトをフィルタリングできます。これを行うには、次の手順を実行します:
- 上部のバーで、検索または移動先を選択します。
- 次のいずれかを選択します。
- すべてのプロジェクトを表示: プロジェクトをフィルタリングします。
- 検索: アクセスできるすべてのプロジェクトをフィルタリングします。
- プロジェクトリストの上にある検索または結果をフィルタリングを選択します。
- 言語ドロップダウンリストで、プロジェクトのフィルタリングに使用する言語を選択します。
選択した言語を使用するプロジェクトのリストが表示されます。
プロジェクトにStarを付ける
頻繁に使用するプロジェクトにスターを付けて、見つけやすくすることができます。
プロジェクトにStarを付けるには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- ページの右上隅にあるStarを選択します。
プロジェクトを離脱する
プロジェクトを離脱すると、次のようになります。
- プロジェクトメンバーではなくなり、コントリビュートできなくなります。
- 割り当てられていたすべてのイシューとマージリクエストの割り当てが解除されます。
前提条件:
- プロジェクトがグループネームスペースのグループの一部である場合にのみ、この方法でプロジェクトを離脱できます。
- プロジェクトの直接メンバーである必要があります。
プロジェクトを離脱するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- プロジェクトの概要ページの右上隅で、アクション( )を選択します。
- プロジェクトを離脱を選択し、もう一度プロジェクトを離脱を選択します。
あなたの作業リストビューから直接プロジェクトを離れるには:
- 上部のバーで、検索または移動先を選択します。
- すべてのプロジェクトを表示を選択します。
- メンバータブで、離れたいプロジェクトを見つけ、縦方向の省略記号( )を選択します。
- プロジェクトを離脱を選択します。
この操作は、他のリストされたページでも使用できます。
プロジェクトを編集する
プロジェクトの一般設定を使用して、プロジェクトの詳細を編集します。
前提条件:
- プロジェクトのメンテナーまたはオーナーロールが必要です。
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- プロジェクト名テキストボックスに、プロジェクト名を入力します。プロジェクト名の制限を参照してください。
- オプション。プロジェクトの説明テキストボックスに、プロジェクトの説明を入力します。説明は2,000文字に制限されています。CI/CDカタログに公開されているコンポーネントには、プロジェクトの説明が必要です。
- 変更を保存を選択します。
リポジトリの名前を変更する
プロジェクトのリポジトリ名は、そのURLを定義します。
前提条件:
- 管理者であるか、プロジェクトのメンテナーまたはオーナーのロールを持っている必要があります。
リポジトリのパスを変更すると、ユーザーは古いURLにプッシュするか、そこからプルする場合に問題が発生する可能性があります。リダイレクト期間とその副作用の詳細については、リポジトリの名前変更時のリダイレクトを参照してください。
リポジトリの名前を変更するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- パスを変更テキストボックスで、パスを編集します。
- パスを変更を選択します。
プロジェクトアバターを追加する
プロジェクトを視覚的に識別できるように、プロジェクトアバターを追加します。アバターを追加しない場合、GitLabはプロジェクト名の最初の文字をデフォルトのプロジェクトアバターとして表示します。
プロジェクトアバターを追加するには、次のいずれかの方法を使用します。
- リポジトリにロゴを追加します。
- プロジェクトの設定でアバターをアップロードします。
リポジトリにロゴを追加する
プロジェクト設定にアバターをアップロードしていない場合、GitLabはlogoという名前のファイルをリポジトリで検索し、デフォルトのプロジェクトアバターとして使用します。
前提条件:
- プロジェクトのメンテナーまたはオーナーロールが必要です。
- ファイルのサイズは200 KB以下である必要があります。理想的な画像サイズは192 x 192ピクセルです。
- ファイルの名前は
logoで、拡張子は.png、.jpg、または.gifである必要があります。例:logo.gif。
プロジェクトアバターとして使用するロゴファイルを追加するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- プロジェクトリポジトリのルートで、ロゴファイルをアップロードします。
プロジェクトの設定でアバターをアップロードする
前提条件:
- プロジェクトのメンテナーまたはオーナーロールが必要です。
- ファイルのサイズは200 KB以下である必要があります。理想的な画像サイズは192 x 192ピクセルです。
- 画像は、次のいずれかのファイル形式である必要があります。
.bmp.gif.ico.jpeg.png.tiff
プロジェクトの設定でアバターをアップロードするには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- プロジェクトアバターセクションで、ファイルを選択を選択します。
- アバターファイルを選択します。
- 変更を保存を選択します。
プロジェクトを削除する
デフォルトでは、プロジェクトを初めて削除すると、削除保留状態になります。プロジェクトを直ちに削除するには、プロジェクトをもう一度削除します。
前提条件:
- プロジェクトのオーナーロールを持っている必要があります。
- オーナーは、プロジェクトの削除を許可されている必要があります。
プロジェクトを削除するには、次の手順に従います:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- プロジェクトを削除セクションで、削除を選択します。
- 確認ダイアログで、プロジェクト名を入力し、はい、プロジェクトを削除しますを選択します。
このアクションにより、プロジェクトを削除対象としてマークするバックグラウンドジョブが追加されます。GitLab.comでは、プロジェクトは30日後に削除されます。GitLab Self-Managedでは、インスタンスの設定から保持期間を変更できます。
プロジェクトの削除をスケジュールしたユーザーが、削除が行われる前にプロジェクトへのアクセス権を失った場合(たとえば、プロジェクトを離脱したり、ロールがダウングレードされたり、プロジェクトからBANされたりした場合)、削除ジョブは代わりにプロジェクトを復元するため、プロジェクトは削除対象としてスケジュールされなくなります。
プロジェクトが削除対象としてマークされると、スケジュールされたCI/CDパイプラインは実行を停止します。
Railsコンソールを使用してプロジェクトを削除することもできます。
プロジェクトを直ちに削除
プロジェクトを削除するために設定された保持期間を待つ必要がない場合、プロジェクトを直ちに削除できます。
前提条件:
- プロジェクトのオーナーロールを持っている必要があります。
- プロジェクトの削除をスケジュール済みです。
削除対象としてスケジュールされているプロジェクトを完全に削除するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- プロジェクトを削除セクションで、完全に削除を選択します。
- 確認ダイアログで、プロジェクト名を入力し、確認を選択します。
このアクションにより、イシューやマージリクエストを含むプロジェクトおよび関連するすべてのリソースが削除されます。
プロジェクトを復元する
前提条件:
- プロジェクトのオーナーロールを持っている必要があります。
削除保留中のプロジェクトを復元するには、次の手順を実行します。
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- プロジェクトを復元セクションで、プロジェクトを復元を選択します。
プロジェクトをアーカイブする
プロジェクトをアーカイブして、読み取り専用にし、将来の参照のためにそのデータを保持します。
プロジェクトをアーカイブすると:
- プロジェクトは非アクティブになり、
Archivedバッジが表示されます。 - ほとんどの機能が読み取り専用になります(リポジトリ、イシュー、マージリクエスト、パッケージなど)。
- フォーク関係が削除され、フォークからのオープンなマージリクエストは閉じられます。
- デプロイされたPagesは、カスタムドメインとともに削除されます。
- スケジュールされたCI/CDパイプラインは実行を停止します。
- プルミラーリングが停止します。
前提条件:
- 管理者であるか、プロジェクトのオーナーロールを持っている必要があります。
プロジェクトをアーカイブするには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- プロジェクトのアーカイブセクションで、アーカイブを選択します。
あなたの作業リストビューから直接プロジェクトをアーカイブするには:
- 上部のバーで、検索または移動先を選択します。
- ドロップダウンからすべてのプロジェクトを表示を選択します。
- メンバータブで、アーカイブしたいプロジェクトを見つけ、縦方向の省略記号( )を選択します。
- アーカイブを選択します。
この操作は、他のリストされたページでも使用できます。
プロジェクトのアーカイブを解除する
プロジェクトのアーカイブを解除すると:
- 読み取り専用の制限が解除されます。
- プロジェクトは非アクティブとしてマークされなくなります。
- スケジュールされたCI/CDパイプラインは自動的に再開されます。
- プルミラーリングが自動的に再開されます。
グループアーカイブの一部としてアーカイブされたプロジェクトは、個別にアーカイブ解除できません。すべてのプロジェクトとサブグループのアーカイブを解除するには、親グループのアーカイブを解除する必要があります。
デプロイされたPagesは自動的に復元されることはありません。Pagesを復元するには、パイプラインを再実行する必要があります。
前提条件:
- 管理者であるか、プロジェクトのオーナーロールを持っている必要があります。
プロジェクトのアーカイブを解除するには:
- アーカイブされたプロジェクトを検索します。
- 上部のバーで、検索または移動先を選択します。
- ドロップダウンからすべてのプロジェクトを表示を選択します。
- 非アクティブタブで、プロジェクトを選択します。
- 左側のサイドバーで、設定 > 一般を選択します。
- 高度な設定で、展開を選択します。
- プロジェクトのアーカイブ解除セクションで、アーカイブ解除を選択します。
あなたの作業リストビューから直接プロジェクトのアーカイブを解除するには:
- 上部のバーで、検索または移動先を選択します。
- ドロップダウンからすべてのプロジェクトを表示を選択します。
- 非アクティブタブで、アーカイブ解除したいプロジェクトを見つけ、縦方向の省略記号( )を選択します。
- アーカイブ解除を選択します。
この操作は、他のリストされたページでも使用できます。
プロジェクトを転送
プロジェクトを別のグループに移動するために転送します。プロジェクトの転送は、同じGitLabインスタンス内の任意のネームスペース間で個々のプロジェクトを移動します。
プロジェクトは以下から転送できます:
- 個人のネームスペースからグループへ
- あるグループから別のグループへ
- グループから個人のネームスペースへ
前提条件:
- ターゲットグループのメンテナーまたはオーナーロール。
- 転送したいプロジェクトのオーナーロール。
- ターゲットグループのプロジェクト作成を有効にします。
プロジェクトがアーカイブされているか、削除保留中の場合、転送できません。
プロジェクトを転送するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 高度な設定を展開します。
- プロジェクトの転送の下で、プロジェクトの転送先のネームスペースを選択します。
- プロジェクトの転送を選択します。
- プロジェクトの名前を入力し、確認を選択します。
新しいプロジェクトページに移動し、以前のURLは新しいプロジェクトURLにリダイレクトされます。
プロジェクトを転送した後、以下を確認してください:
- ローカルリポジトリのリモートを新しいURLに更新します。
- プロジェクトメンバーのアクセスと権限を確認します。
- パッケージの設定を更新し、必要に応じて再公開します。
- CI/CDパイプラインとインテグレーションをテストしていること。
- 必要に応じてセキュリティポリシーをレビューおよび再割り当てします。
管理者は管理者エリアからプロジェクトを転送できます。
転送されるデータ
プロジェクトの転送には以下が含まれます:
- プロジェクトコンポーネント:
- イシュー、マージリクエスト、およびイシュースレッド
- CI/CDパイプラインと設定
- ダッシュボードとWiki
- リポジトリコードとGit履歴
- プロジェクトアクセストークン
- プロジェクトメンバー:
- 直接のプロジェクトメンバーとそのロール
- 保留中のメンバーシップ招待
- 自動調整:
- 一致するグループラベルが存在しない場合、新しいプロジェクトラベルが作成されます
- 必要に応じて、ターゲットグループ内にエピックのコピーが作成されます(プロジェクトごとに個別のコピー)
- 同じエピックにイシューが割り当てられている複数のプロジェクトを転送すると、そのエピックの個別のコピーがターゲットグループ内にプロジェクトごとに作成されます。
既知の問題
プロジェクトを転送する際には、以下の制限事項に留意してください。
継承されたメンバーシップを持つプロジェクトの場合:
- プロジェクトで継承されたメンバーシップを持つメンバーは、ターゲットグループのメンバーでもある場合を除き、アクセス権を失います。
- プロジェクトは、ターゲットグループから新しいメンバー権限を継承します。
コンテナレジストリが有効になっているプロジェクトの場合:
- GitLab.comの場合: 同じトップレベルグループ内のプロジェクトのみを転送できます。
- GitLab Self-Managed: プロジェクトにはコンテナイメージを含めることはできません。
- 1,000を超えるコンテナリポジトリを持つプロジェクトは転送できません。詳細については、コンテナレジストリリポジトリの移動または名前変更を参照してください。
パッケージレジストリを使用するプロジェクトの場合:
- ルートネームスペースが変更された場合、命名規則に従うNPMパッケージをプロジェクトから削除する必要があります。プロジェクトを転送した後、以下のいずれかを実行できます:
- パッケージスコープを新しいルートネームスペースパスで更新し、プロジェクトに再度公開します。
- ルートネームスペースパスを更新せずにパッケージをプロジェクトに再公開します。これにより、パッケージは命名規則に従わなくなります。ルートネームスペースパスを更新せずにパッケージを再公開した場合、インスタンスエンドポイントでは利用できません。
セキュリティポリシーを持つプロジェクトの場合:
- プロジェクトにはセキュリティポリシーがあってはなりません。セキュリティポリシーがプロジェクトに割り当てられている場合、転送中に自動的に割り当てが解除されます。
プロジェクトを転送すると:
- プロジェクトのパスが変更されます。必要に応じて、プロジェクトコンポーネントへのURLを変更してください。
GitLab.comプロジェクトを別のサブスクリプションティアに転送
GitLab.com PremiumまたはUltimateのライセンスがあるネームスペースからGitLab Freeにプロジェクトを転送すると:
- プロジェクトアクセストークンは失効します。
- パイプラインサブスクリプションとテストケースは削除されます。
アクションメニューでプロジェクトを管理
すべてのプロジェクトのリストを表示し、アクションメニューで管理できます。
前提条件:
- アクションを実行するには、必要なプロジェクト権限が必要です。
アクションメニューでプロジェクトを管理するには:
- 上部のバーで、検索または移動先を選択します。
- ドロップダウンからすべてのプロジェクトを表示を選択します。
- プロジェクトページで、プロジェクトを見つけ、縦方向の省略記号( )を選択します。
- アクションを選択します。
プロジェクトの状態に応じて、次のアクションが利用可能です:
| プロジェクトの状態 | 利用可能なアクション |
|---|---|
| アクティブ | Copy project ID、編集、アーカイブ、転送、プロジェクトを離脱、削除 |
| アーカイブ済み | Copy project ID、アーカイブ解除、プロジェクトを離脱、削除 |
| 削除保留中 | Copy project ID、復元、プロジェクトを離脱、完全に削除 |
プロジェクトにコンプライアンスフレームワークを追加する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
コンプライアンスフレームワークがあるグループのプロジェクトにコンプライアンスフレームワークを追加できます。
LDAPグループを介してプロジェクトへのアクセスを管理する
LDAPグループを使用してプロジェクトへのアクセスを管理することはできませんが、次の回避策を使用できます。
前提条件:
- LDAPをGitLabと統合する必要があります。
- 管理者である必要があります。
- プロジェクトのメンバーシップを追跡するためのグループを作成します。
- そのグループのLDAP同期を設定します。
- LDAPグループを使用してプロジェクトへのアクセスを管理するには、LDAP同期されたグループをメンバーとして追加します。
プロジェクトエイリアス
- プラン: Premium、Ultimate
- 提供形態: GitLab Self-Managed、GitLab Dedicated
通常、GitLabリポジトリには、ネームスペースとプロジェクト名を使用してアクセスします。ただし、頻繁にアクセスされるリポジトリをGitLabに移行する場合は、プロジェクトエイリアスを使用して、元の名前でそれらのリポジトリにアクセスできます。プロジェクトエイリアスを介してリポジトリにアクセスすると、そのようなリポジトリの移行に関連するリスクが軽減されます。
この機能は、SSH経由のGitでのみ使用できます。また、プロジェクトエイリアスを作成できるのはGitLab管理者のみであり、APIを介してのみ作成できます。詳細については、プロジェクトエイリアスAPIドキュメントを参照してください。
管理者がプロジェクトのエイリアスを作成すると、そのエイリアスを使用してリポジトリのクローンを作成できます。たとえば、管理者がプロジェクトhttps://gitlab.com/gitlab-org/gitlabのエイリアスgitlabを作成した場合、git clone git@gitlab.com:gitlab-org/gitlab.gitの代わりにgit clone git@gitlab.com:gitlab.gitを使用してプロジェクトのクローンを作成できます。