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