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コンソールではできます)。