GitLabとの連携
GitLabは、機能拡張のために外部アプリケーションと連携できます。
プロジェクトインテグレーション
Jenkins、Jira、Slackなどのアプリケーションは、プロジェクトインテグレーションとして利用できます。
イシュートラッカー
外部イシュートラッカーを設定して、以下を使用できます:
- 外部イシュートラッカーとGitLabイシュートラッカー
- 外部イシュートラッカーのみ
認証プロバイダー
GitLabをLDAPやSAMLなどの認証プロバイダーと連携させることができます。
詳細については、GitLabの認証と認可を参照してください。
セキュリティの改善
AkismetやreCAPTCHAなどのソリューションをスパム対策に利用できます。
また、GitLabは、以下のセキュリティパートナーと連携できます:
- Anchore
- Prisma Cloud
- Checkmarx
- CodeSecure
- Deepfactor
- Fortify
- Indeni
- Jscrambler
- Mend
- Semgrep
- StackHawk
- Tenable
- Venafi
- Veracode
GitLabは、セキュリティの脆弱性に関してアプリケーションをチェックできます。詳細については、アプリケーションを保護するを参照してください。
トラブルシューティング
インテグレーションを使用する場合、以下の問題が発生することがあります。
SSL証明書エラー
自己署名証明書を使用してGitLabと外部アプリケーションを連携させると、GitLabのさまざまな部分でSSL証明書エラーが発生することがあります。
回避策として、次のいずれかを実行してください:
- OSが信頼できるチェーンに証明書を追加します。詳細については、以下を参照してください:
- Adding trusted root certificates to the server(信頼されたルート証明書をサーバーに追加する)
- How do you add a certificate authority (CA) to Ubuntu?(Ubuntuに認証局(CA)を追加する方法)
- Linuxパッケージを使用するインストールの場合、GitLabが信頼できるチェーンに証明書を追加します:
自己署名証明書を、GitLabが信頼できる証明書と連結します。自己署名証明書は、アップグレード中に上書きされる可能性があります。
cat jira.pem >> /opt/gitlab/embedded/ssl/certs/cacert.pemGitLabを再起動します。
sudo gitlab-ctl restart
KibanaでSidekiqログを検索する
Kibanaで特定のインテグレーションを見つけるには、次のKQL検索文字列を使用します:
`json.integration_class.keyword : "Integrations::Jira" and json.project_path : "path/to/project"`以下で情報を見つけることができます:
json.exception.backtracejson.exception.classjson.exception.messagejson.message
エラー: Test Failed. Save Anyway
初期化されていないリポジトリでインテグレーションを設定すると、Test Failed. Save Anywayエラーが発生し、インテグレーションが失敗する場合があります。プロジェクトにプッシュイベントがない場合、インテグレーションがプッシュデータを使用してテストペイロードを作成するため、このエラーが発生します。
この問題を解決するには、テストファイルをプロジェクトにプッシュしてリポジトリを初期化してから、インテグレーションを再度設定してください。