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 の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...

MySQLのタイムゾーンを表示および設定する方法

1. データベースのタイムゾーンを確認する '%time_zone' のような変数を...

Redission-tomcatは、単一マシンから複数マシンへの展開を迅速に実装します。

序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...

MySQL チュートリアル データ定義言語 DDL の例 詳細な説明

目次1. SQL言語の基本機能の紹介2. データ定義言語の目的3. データベースの作成と破棄4. デ...

MySQL インデックスのクイックガイド

MySQL インデックスの確立は、MySQL の効率的な操作にとって非常に重要です。インデックスによ...

FTP環境設定ソリューション(vsftpd)の詳細な説明

1. vsftpdコンポーネントをインストールするインストールコマンド: [root@ink4t ~...

vue-cli で stimulsoft.reports.js を使用する詳細なチュートリアル

vue-cli は stimulsoft.reports.js を使用します (ナニーレベルのチュー...

dockerでマウントされたディレクトリが読み書きできない問題を解決する

次のコマンドを使用してコンテナを作成し、ローカルの /home/dock/Downloads ディレ...

WebページでjQueryを参照する方法

CDN(コンテンツ配信ネットワーク)を通じて参照できます。 jQuery は Google と Mi...

ウェブデザイナーが持つべき資質と能力

Web デザインは、インターネットの出現後に誕生した新興の周辺産業です。 Web ページは店頭のよう...

CSS3は遷移を高速化し、遅延させる

1. 速度制御機能を使用して、トランジション効果(加速、減速など)の速度曲線を制御します。速度制御機...

MySql データベース クエリの特殊コマンド

まずMySQLのインストールMySQLソフトウェアをダウンロードし、インストールパスを変更しますMy...

MySQL で削除されたレコードが有効にならない理由のトラブルシューティング

オンライン MySQL トランザクションの問題の記録先週の金曜日、大きなテーブルを削除する操作を実行...