Ansibleを使用してTomcatをバッチでデプロイする方法

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築

この操作は、nginx+mysql+tomcat+dbのディレクトリ構造をインストールするものです。参考にしてください。いいですね〜

mkdir -p /ansible/roles/{nginx、mysql、tomcat、db}/{デフォルト、ファイル、ハンドラ、メタ、タスク、テンプレート、変数}
  • デフォルト デフォルトの検索パス
  • タスク ストア プレイブック パス
  • ファイルはファイルとスクリプトパッケージを格納し、モジュールファイルの検索パスをコピーします
  • テンプレート テンプレート保存パス
  • ハンドラはいくつかのプレイブックのストレージパスの呼び出しを通知します
  • vars ロール変数の保存パス

1.2 ファイルディレクトリ構造

[root@qtbackup ~]# ツリー /ansible/
/アンシブル/
├── プレイブック
│ └── プレイブック.yml
├── 役割
│ ├── デシベル
│ │ ├── デフォルト
│ │ ├── ファイル
│ │ ├── ハンドラー
│ │ ├── メタ
│ │ ├── タスク
│ │ ├── テンプレート
│ │ └── 変数
│ ├── MySQL の
│ │ ├── デフォルト
│ │ ├── ファイル
│ │ ├── ハンドラー
│ │ ├── メタ
│ │ ├── タスク
│ │ ├── テンプレート
│ │ └── 変数
│ ├── nginx
│ │ ├── デフォルト
│ │ ├── ファイル
│ │ ├── ハンドラー
│ │ ├── メタ
│ │ ├── タスク
│ │ ├── テンプレート
│ │ └── 変数
│ └── トムキャット
│ ├── デフォルト
│ ├── ファイル
│ │ ├── apache-tomcat-8.0.29.tar.gz
│ │ ├── jdk-8u73-linux-x64.gz
│ │ ├── tomcat-initscript.sh
│ │ └── tomcat-users.xml
│ ├── ハンドラー
│ │ └── main.yml
│ ├── メタ
│ ├── タスク
│ │ └── main.yml
│ ├── テンプレート
│ │ └── tomcat-users.xml
│ └── 変数
├── ssh_key.sh ### sshkey スクリプトを自動配布します (以下に全文掲載します)
├── web.再試行
└── web.yml ####呼び出されたファイルの合計数: 34 ディレクトリ、11 ファイル
[root@qtbackup ~]#

1.3 ansibleディレクトリに一般呼び出しファイルを作成する

- hosts: bgo ####hostsで定義したホストグループ名です。単一ホストの場合はアドレスを直接記述できます。remote_user: root ####実行ユーザーロール: #####設定ファイルディレクトリの説明、今回はtomcatをインストールするので他はコメントアウトしてください。# - nginx
 # -mysql
  - トムキャット
 # - デシベル

1.4 Tomcatインストールプレイブックファイルを作成する

vim /ansible/roles/tomcat/tasks/main.yml

#これは、yumモジュールを使用してjdkをインストールします。必要に応じて、#- name: install javaを使用できます。
# yum: 名前=java-1.8.0-openjdk.x86_64 状態=存在

===============================================================
#ユーザー名:グループの作成
 グループ: 名前=tomcat
- 名前: ユーザー
 ユーザー: 名前=tomcat グループ=tomcat ホーム=/usr/tomcat
 sudo: 真

######################################このソース パッケージは JDK をインストールします###############################
#jdk を tmp ディレクトリにコピーします - 名前: copy jdk-8u73-linux-x64.gz
 コピー: src=jdk-8u73-linux-x64.gz dest=/tmp/jdk-8u73-linux-x64.gz
#jdk パッケージを /application に解凍します
- 名前: アーカイブjdkを抽出
 コマンド: /bin/tar xf /tmp/jdk-8u73-linux-x64.gz -C /application
#名前の変更 - 名前: java
 シェル: mv /application/jdk1.8.0_73 /application/java
#環境変数を追加 - 名前: add /etc/profile
 行入力ファイル: dest=/etc/profile regexp="^JAVA_HOME=" 行="JAVA_HOME=/application/java/"
- 名前: /etc/profile を追加
 行入力ファイル: dest=/etc/profile regexp="^CLASS_PATH=" 行="CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
- 名前: /etc/profile を追加
 行入力ファイル: dest=/etc/profile 正規表現="^PATH=\$PATH:\$JAVA_HOME" 行="PATH=$PATH:$JAVA_HOME/bin"
- 名前: /etc/profile を追加
 行入力ファイル: dest=/etc/profile regexp="^export JAVA_HOME" 行="export JAVA_HOME"

#############################tomcat をインストールします############################################
- 名前: tomcat_tar_gz をコピー
 コピー: src=apache-tomcat-8.0.29.tar.gz dest=/tmp/apache-tomcat-8.0.29.tar.gz
#tomcatをoptディレクトリに解凍 - 名前:アーカイブを抽出
 コマンド: /bin/tar xf /tmp/apache-tomcat-8.0.29.tar.gz -C /opt
#ソフトリンクを作成 - 名前: シンボリックリンクのインストールディレクトリ
 ファイル: src=/opt/apache-tomcat-8.0.29/ dest=/application/tomcat state=link
#ディレクトリ権限を付与 - 名前: Tomcat インストールの所有権を変更する
 ファイル: パス=/application/tomcat/ 所有者=tomcat グループ=tomcat 状態=ディレクトリ 再帰=yes
#プッシュ設定ファイル - 名前: Tomcat ユーザーの設定
 テンプレート: src=tomcat-users.xml dest=/application/tomcat/conf/
 通知: Tomcat を再起動
#Tomcatをインストールします。 init 起動スクリプト - 名前: Tomcat init スクリプトをインストールする
 コピー: src=tomcat-initscript.sh dest=/etc/init.d/tomcat mode=0755
#Tomcatを起動する
- 名前: Tomcatを起動
 サービス:名前=tomcat 状態=開始 有効=はい

1.5 通知経由でハンドラを呼び出す

- 名前: Tomcatを再起動 
 サービス:名前=tomcat 状態=再起動

1.6 構文チェック === インストールの実行

cd /ansible
ansible-playbook web.yml --syntax-check #構文をチェック ansible-playbook web.yml #実行

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 集中管理プラットフォームAnsibleの詳しい説明
  • Ansible-playbookは、KVMの自動展開とpython3のインストールに関する詳細なチュートリアルを実装します。
  • Ansible で K8s クラスターをデプロイする方法
  • Ansible管理ツールの環境と導入のインストール

<<:  MySQL SQL文の特殊処理文のまとめ(必読)

>>:  Vue で動的に追加されたルーティング ページの更新時に失敗する理由と解決策

推薦する

LinuxシステムにTomcatをインストールし、サービスの起動とシャットダウンを構成する

Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....

MySQL トランザクション分離レベルの原則例分析

導入あなたも面接でこれに遭遇したことがあるはずです。トランザクションの分離レベルについてお話ししまし...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

MySql ビュー トリガー ストアド プロシージャの詳細な説明

ビュー:一時テーブルを繰り返し使用する場合、将来の使用を容易にするために別名を付けることができます。...

vue3 のストアを使用してスクロール位置を記録する例

目次全体的な効果コンテナのスクロールイベントをリッスンするストア内の構成ページが戻るときのスクロール...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

JavaScript のカンマ式が含まれている場合について

JavaScript の if ステートメントで英語のカンマ「,」が表示されることがあります。これは...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

JavaScript 手ぶれ補正のケーススタディ

原理手ぶれ補正の原理は、イベントをトリガーすることはできますが、イベントがトリガーされてから n 秒...

MySQL Workbench の使い方チュートリアルの詳しい説明

目次(I) Workbenchを使用してデータベースを操作する①データベースを作成する② データベー...

検索データ表示を実装するJavaScript

この記事ではJavaScript検索のデータ表示コードを参考までに共有します。具体的な内容は以下のと...

Vue でのルーティングガードの具体的な使用法

目次1. グローバルガード1.1 グローバルフロントガード1.2 グローバルポストルートガード1.3...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

Vueプロジェクトでよく使われる実践的なスキルのまとめ

目次序文1. マルチレベルのデータとイベントの配信には$attrsと$listenersを使用する2...