Version: Kingston ※LondonだとMID ServerのバイナリにJREが同梱されないようです
作るもの
ServiceNowのMID ServerをDockerのコンテナに立ててServiceNowインスタンスに登録します
[root@13a11e35529c agent]# ./start.sh
Starting ServiceNow MID Server...
Waiting for ServiceNow MID Server......
running: PID:87
MID Serverを構築する環境は登録したいServiceNowインスタンスにネットワーク的に到達可能な環境で行います
Docker環境を構築する
Dockerのインストール
Windows10 Homeで試したのでDocker Toolbox on Windowsをインストールしました
インストールが完了したあとでversionを確認します
$ docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24302
Built: Fri Mar 23 08:31:36 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.05.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.10.1
Git commit: f150324
Built: Wed May 9 22:20:42 2018
OS/Arch: linux/amd64
Experimental: false
MID Server用コンテナの準備
MID Serverを立てる用にCentOS7のコンテナを用意しますimageをpullして
$ docker pull centos:centos7
centos7: Pulling from library/centos
7dc0dca2b151: Pull complete
Digest: sha256:b67d21dfe609ddacf404589e04631d90a342921e81c40aeaf3391f6717fa5322
Status: Downloaded newer image for centos:centos7
pullしたimageを確認して
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7 49f7960eb7e4 3 weeks ago 200MB
runして
$ docker run -it -d --name centos7 centos:centos7
13a11e35529caf5ac4136e5d77def2c79a7f936273a5237c09f327246d0cc6ab
psを確認します
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13a11e35529c centos:centos7 "/bin/bash" 8 seconds ago Up 9 seconds centos7
MID Serverのインストール
MID Server用のユーザをServiceNowインスタンスに作成
MID Serverを登録したいServiceNowインスタンスにadminでログインしFilter Navigatorにitomと入力し[Guided Setup] - [ITOM Guided Setup]を表示してGetting startedの[Continue]をクリックします
MID Serverの項目の[Continue]をクリックします
Create MID Userの[Configure]をクリックします
Create MID Sever UserでUser nameとPasswordとConfirm passwordを入力し[Submit]をクリックします
MID Server用のユーザが作成されます[Back to Guided Setup]をクリックして前の画面に戻ります
MID Serverのダウンロード
Download & Install MIDの[Configure]をクリックします
MID Serverを立てたいOSのバイナリをダウンロードします
ダウンロードして解凍するとagentというディレクトリ以下にJavaアプリっぽい構成のファイルがありました ※LondonだとMID ServerのバイナリにJREが同梱されないようです
2018/06/30 09:42 <DIR> .
2018/06/30 09:42 <DIR> ..
2018/06/30 09:41 <DIR> bin
2018/06/30 09:41 <DIR> conf
2018/04/20 12:00 7,259 config.xml
2018/06/30 09:41 <DIR> etc
2018/04/20 12:00 18,509 EULA.docx
2018/04/20 12:00 <DIR> extlib
2018/04/20 12:16 505 installer.bat
2018/04/20 12:16 509 installer.sh
2018/06/30 09:41 <DIR> jetty
2018/06/30 09:41 <DIR> jre
2018/06/30 09:42 <DIR> lib
2018/04/20 12:00 <DIR> logs
2018/06/30 09:42 <DIR> midinstaller
2018/06/30 09:41 <DIR> package
2018/06/30 09:41 <DIR> properties
2018/04/20 12:00 19,938 README.docx
2018/04/20 12:00 2,786,132 ServiceNow Open Source Disclosure 110217KMS0.pdf
2018/04/20 12:00 17 start.bat
2018/04/20 12:00 16 start.sh
2018/04/20 12:00 16 stop.bat
2018/04/20 12:00 15 stop.sh
2018/04/20 12:00 <DIR> work
2018/04/20 12:16 26,235 wrapper-development-license-1.1.txt
2018/04/20 12:16 11,952 wrapper-tsims-addendum-1.1.txt
12 個のファイル 2,871,103 バイト
MID Serverのインストール
GUIのインストーラーもあるようなのですがCUIの環境しかないのでコンソールで行いますagentディレクトリをコンテナの/root以下に配置します
>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13a11e35529c centos:centos7 "/bin/bash" 26 minutes ago Up 26 minutes centos7
>docker cp agent 13a11e35529c:/root
コンテナにbashで入ります
>docker exec -it centos7 /bin/bash
[root@13a11e35529c /]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
agentディレクトリ直下のconfig.xmlのバックアップを取得後url(MID Serverを登録したいServiceNowインスタンス), username(MID Server用のユーザID), password(MID Serer用のパスワード), name(ServiceNowインスタンスに登録されるMID Serverの名前)の4か所を編集します
[root@13a11e35529c agent]# cp -pr config.xml config.xml.bak`date +%Y%m%d`
[root@13a11e35529c agent]# ls -ltr config.xml*
-rwxr-xr-x 1 root root 7259 Apr 20 03:00 config.xml.bak20180630
-rwxr-xr-x 1 root root 7259 Apr 20 03:00 config.xml
[root@13a11e35529c agent]# vi config.xml
[root@13a11e35529c agent]# diff config.xml config.xml.bak20180630
26c26
< <parameter name="url" value="https://dev*****.service-now.com/"/>
---
> <parameter name="url" value="https://YOUR_INSTANCE.service-now.com/"/>
31,32c31,32
< <parameter name="mid.instance.username" value="22_percent_cooler"/>
< <parameter secure="true" name="mid.instance.password" value="********"/>
---
> <parameter name="mid.instance.username" value="YOUR_INSTANCE_USER_NAME_HERE"/>
> <parameter secure="true" name="mid.instance.password" value="YOUR_INSTANCE_PASSWORD_HERE"/>
37c37
< <parameter name="name" value="MIDDLE_AGES_SERVER"/>
---
> <parameter name="name" value="YOUR_MIDSERVER_NAME_GOES_HERE"/>
MID Serverの起動
start.shでMID Serverを起動します停止するときはstop.shを使う様です
[root@13a11e35529c agent]# ./start.sh
Starting ServiceNow MID Server...
Waiting for ServiceNow MID Server......
running: PID:87
ServiceNowインスタンスにMID Serverを登録
MID Serverの起動に成功するとServieNowインスタンスの[MID Server] - [Servers]に起動したMID Serverが登録されています
MID ServerのnameをクリックしてValidateのリンクをクリックして[Save]をクリックしてValidateします
ValidatedがYesになりました