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 で動的に追加されたルーティング ページの更新時に失敗する理由と解決策

推薦する

MySQL の計画タスクとイベント スケジュール例の分析

この記事では、例を使用して、MySQL の計画されたタスクとイベントのスケジュールについて説明します...

モバイル端末におけるビューポートの具体的な使用法についての簡単な説明

目次1. 基本概念1.1 2種類のピクセル1.2 3つのビューポート2. ビューポート設定3. 1回...

Linux echo テキスト処理コマンドの使用法と例

Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラ...

Ubuntu 16.04 で PostgreSQL の起動を設定する方法

PostgreSQL はコンパイルされインストールされるため、起動時に起動するように設定する必要があ...

MySQL マルチテーブル結合クエリ例の説明

実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...

Dockerはイメージ名とTAG操作の名前を変更します

docker イメージを使用する場合、以下に示すように、REPOSITORY と TAG の両方が ...

ウェブカラーのコントラストと調和のテクニックの共有

色のコントラストと調和対照的な状況では、色の相互作用は単一の色によって与えられる感覚とは異なります。...

シンプルなjQuery + CSSを使用してカスタムタグタイトルツールチップを作成します

導入シンプルな jQuery + CSS を使用して、ブラウザのデフォルトの動作を置き換えるカスタム...

Ckeditor + Ckfinderを使用したJavaScriptファイルアップロードケースの詳細な説明

目次1. 準備2. 減圧3. 統合を開始する1. 準備Ckeditor_4.5.7_full + C...

さまざまなブラウザでのhrタグの説明

通常、人事担当者と会うことはめったにありませんが、一度会うと、それが生死を分けることもあります。 H...

カルーセルカルーセルケースのJS実装

この記事の例では、カルーセルカルーセルを実装するためのJSの具体的なコードを参考までに共有しています...

一般的なDockerコマンドの詳細な説明

1. ヘルプコマンド1. 現在のDockerバージョンを表示する docker バージョン2. イメ...

JavaScriptの詳細な説明 thisキーワード

目次1. はじめに2.これを理解する3. これは誰ですか? 4.矢印関数はさらに読む要約する1. は...

JavaScriptの基礎を学ぶ

目次1. JavaScriptを記述する場所2. JavaScriptでよく使われる入力文と出力文1...