LoginSignup
4
10

More than 5 years have passed since last update.

ServiceNowのMID ServerをDockerのコンテナに立ててServiceNowインスタンスに登録する

Last updated at Posted at 2018-06-30

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

FireShot Screen Capture #042 - 'MIDDLE_AGES_SERVER I MID Server I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_ecc_agent_do_sys_i.png

MID Serverを構築する環境は登録したいServiceNowインスタンスにネットワーク的に到達可能な環境で行います

Docker環境を構築する

Dockerのインストール

Windows10 Homeで試したのでDocker Toolbox on Windowsをインストールしました

FireShot Screen Capture #029 - 'Install Docker Toolbox on Windows I Docker Documentation' - docs_docker_com_toolbox_toolbox_install_windows.png

インストールが完了したあとで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]をクリックします

FireShot Screen Capture #030 - 'Guided Setup I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$guided_setup_do#_content_f52f9c00c31.png

MID Serverの項目の[Continue]をクリックします

FireShot Screen Capture #031 - 'Guided Setup I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$guided_setup_do#_content_f52f9c00c31.png

Create MID Userの[Configure]をクリックします

FireShot Screen Capture #032 - 'Guided Setup I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$guided_setup_do#_content_743013dac39.png

Create MID Sever UserでUser nameとPasswordとConfirm passwordを入力し[Submit]をクリックします

FireShot Screen Capture #034 - 'Create MID Server User I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$mid_server_user_do.png

MID Server用のユーザが作成されます[Back to Guided Setup]をクリックして前の画面に戻ります

FireShot Screen Capture #035 - 'Create MID Server User I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$mid_server_user_do.png

MID Serverのダウンロード

Download & Install MIDの[Configure]をクリックします

FireShot Screen Capture #036 - 'Guided Setup I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_$guided_setup_do#_content_743013dac39.png

MID Serverを立てたいOSのバイナリをダウンロードします

FireShot Screen Capture #037 - 'Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_mid_server_download_ui_do.png

ダウンロードして解凍すると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が登録されています

FireShot Screen Capture #038 - 'MID Servers I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_ecc_agent_list_do_sysparm_userpref_mod.png

MID ServerのnameをクリックしてValidateのリンクをクリックして[Save]をクリックしてValidateします

FireShot Screen Capture #041 - 'MIDDLE_AGES_SERVER I MID Server I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_ecc_agent_do_sys_i.png

ValidatedがYesになりました

FireShot Screen Capture #042 - 'MIDDLE_AGES_SERVER I MID Server I Incident Ticket System' - dev48240_service-now_com_nav_to_do_uri=_ecc_agent_do_sys_i.png

4
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
10