GitHubとGitLabの機能比較
機能 | GitHub | GitLab |
---|---|---|
プライベートリポジトリ | 無料プランで利用可能 | 無料プランで利用可能 |
CI/CD | GitHub Actionsを使用 | GitLab CI/CDを内蔵 |
プロジェクト管理 | Issues、Projects、Wiki | Issues、Boards、Wiki、Epics |
コードレビュー | Pull Requests | Merge Requests |
デプロイ | GitHub Actionsを使用 | CI/CDで自動デプロイ |
セキュリティ | Dependabot、コードスキャン | セキュリティダッシュボード、脆弱性管理 |
コラボレーション | GitHub Discussions | GitLab Discussions |
CI/CDパイプラインの構築
GitHub(GitHub Actions)
- リポジトリを作成: GitHubで新しいリポジトリを作成します。
-
ワークフローの設定:
-
.github/workflows
フォルダを作成し、YAMLファイル(例:ci.yml
)を追加します。 - 必要なトリガー(例:
push
、pull_request
)とジョブを定義します。
-
- アクションの指定: 必要なアクション(例えば、テストやデプロイ)を設定します。
- コミット: YAMLファイルをコミットすると、指定したトリガーでCI/CDが実行されます。
GitLab(GitLab CI/CD)
- リポジトリを作成: GitLabで新しいリポジトリを作成します。
-
CI/CD設定ファイルの作成:
- プロジェクトルートに
.gitlab-ci.yml
ファイルを作成します。 - ジョブやステージを定義します。
- プロジェクトルートに
- トリガーの設定: 必要に応じて、手動トリガーやスケジュールを設定します。
-
コミット:
.gitlab-ci.yml
ファイルをコミットすると、自動的にCI/CDパイプラインが実行されます。
参考資料
- GitHub Actionsの公式ドキュメント: GitHub Actions Documentation
- GitLab CI/CDの公式ドキュメント: GitLab CI/CD Documentation