CorticonのルールをCIサーバで自動ビルド、デプロイする

CorticonのルールをCIサーバで自動ビルド、デプロイしてみます。

ルールフローをデプロイするにはルールのアセットを *.eds パッケージにビルドします。Corticon Serverに同梱の corticonManagement.sh | .bat を使用すると自動化できます。

ビルドした *.eds パッケージは、Corticon ServerのWebコンソールからアップロードしてデプロイできますが、これを自動化するには Cortion Server に同梱されている corticonWebConsole.sh | .bat を使用します。

これらのツールを使用し、Jenkins上でビルド・デプロイしてみます。GitHubにあるCorticonのサンプル集の中から「Foreign Exchange RFQ」をビルド・デプロイするJenkinsジョブを登録します。以下が作成したJenkinsfileです。

pipeline {
  agent any
  stages {
    stage('checkout') {
      steps {
          git branch: 'main', url: 'https://github.com/corticon/Samples-Repository.git'
      }
    }
    stage('build') {
      steps {
        dir('Foreign Exchange RFQ') {
          sh label: 'build EDS', script: '''
            /path/to/corticon-6.3-server-utils/bin/corticonManagement.sh \
              --compile \
              --input "$(pwd)/Ruleflow/RFQflow.erf" \
              --service Foreign_Exchange_RFQ \
              --output "$(pwd)/dist/"
          '''
        }
      }
    }
    stage('deploy') {
      steps {
        dir('Foreign Exchange RFQ') {
          // デプロイする前に要ログイン
          sh label: 'login', script: '''
            /path/to/corticon-6.3-server-utils/bin/corticonWebConsole.sh \
              --login --url http://localhost:8080/corticon \
              --name YOUR_USERNAME_HERE --password YOUR_PASSWORD_HERE
          '''
          sh label: 'deploy EDS', script: '''
            /path/to/corticon-6.3-server-utils/bin/corticonWebConsole.sh \
              --decisionservice --add --deploy \
              --file "$(pwd)/dist/Foreign_Exchange_RFQ.eds" \
              --name Foreign_Exchange_RFQ \
              --application the-application --xmlstyle HIER --overwrite
          '''
        }
      }
      post {
        always {
          sh label: 'logout', script: '''
            /path/to/corticon-6.3-server-utils/bin/corticonWebConsole.sh \
              --logout
          '''
        }
      }
    }
  }
}

デプロイに関して、事前に Corticon Server 側で「アプリケーション」を作っておく必要があります。アプリケーションは複数のルールをグループ化する仕組みで、corticonWebConsoleコマンドではアプリケーションを指定せずにデプロイすることができませんでした(Webコンソールではできます)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です