GitLab CI/CDに変換フロー
- プラン: Premium、Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise
- 提供形態: GitLab.com、GitLab Self-Managed
- この機能はGitLabクレジットを使用します。
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
GitLab CI/CDに変換フローは、JenkinsパイプラインをGitLab CI/CDに移行するのに役立ちます。このフローには次の特長があります:
- 既存のJenkinsパイプライン設定を分析します。
- Jenkinsパイプライン構文をGitLab CI/CDのYAMLに変換します。
- GitLab CI/CD実装に関するベストプラクティスを提案します。
- 変換されたパイプライン設定を含むマージリクエストを作成します。
- JenkinsプラグインをGitLabの機能に移行するためのガイダンスを提供します。
このフローは、GitLab UIでのみ使用できます。
GitLab CI/CDに変換フローは、サービスアカウントを使用してマージリクエストを作成します。SOC 2、SOX法、ISO 27001、またはFedRAMPの要件がある組織は、適切なピアレビューポリシーが整備されていることを確認してください。詳細については、マージリクエストに関するコンプライアンス上の考慮事項を参照してください。
前提条件
Jenkinsfileを変換するには、次の要件を満たしている必要があります:
- Jenkinsパイプライン設定にアクセスできる。
- 対象となるGitLabプロジェクトのデベロッパーロール以上を持っている。
- 他の前提条件を満たしている。
- GitLab Duoサービスアカウントがコミットとブランチを作成できることを確認している。
- GitLab CI/CDに変換フローがオンになっていることを確認してください。
フローを使用する
JenkinsfileをGitLab CI/CDに変換するには:
- 上部のバーで、検索または移動先を選択して、プロジェクトを見つけます。
- Jenkinsfileを開きます。
- ファイルの上にあるGitLab CI/CDに変換を選択します。
- 自動化 > セッションを選択して、進捗状況を監視します。
- パイプラインが正常に実行されたら、左側のサイドバーで、コード > マージリクエストを選択します。
Duo Workflow: Convert to GitLab CIというタイトルのマージリクエストが表示されます。 - マージリクエストをレビューし、必要に応じて変更を加えます。
変換プロセス
このプロセスでは、次の内容が変換されます:
- パイプラインステージとステップ。
- 環境変数。
- ビルドトリガーとパラメータ。
- アーティファクトと依存関係。
- 並列実行。
- 条件ロジック。
- ビルド後アクション。
例
Jenkinsfileの入力:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'npm install'
sh 'npm build'
}
}
stage('Test') {
steps {
sh 'npm test'
}
}
stage('Deploy') {
when { branch 'main' }
steps {
sh './deploy.sh'
}
}
}
}GitLabの出力:
stages:
- build
- test
- deploy
build:
stage: build
script:
- npm install
- npm build
artifacts:
paths:
- node_modules/
- dist/
test:
stage: test
script:
- npm test
deploy:
stage: deploy
script:
- ./deploy.sh
only:
- main