シェルスクリプトを使用して開発環境のセットアップを自動化する方法について説明します。以下の手順でJDK、Git、MavenのインストールからMySQLレプリケーション設定までを自動化できます。
1. 基本ソフトウェアのインストール
#!/bin/bash
# JDK11のインストール
sudo yum install -y java-11-openjdk-devel
# Gitのインストール
sudo yum install -y git
# Mavenのセットアップ
MAVEN_VER="3.8.6"
wget https://archive.apache.org/dist/maven/maven-3/${MAVEN_VER}/binaries/apache-maven-${MAVEN_VER}-bin.tar.gz
sudo tar xzf apache-maven-${MAVEN_VER}-bin.tar.gz -C /opt/
sudo ln -s /opt/apache-maven-${MAVEN_VER} /opt/maven
echo "export PATH=/opt/maven/bin:\$PATH" | sudo tee /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh
2. MySQLレプリケーション設定
# レプリケーション用設定
MASTER_HOST="192.168.1.100"
REPL_USER="repl_user"
REPL_PASS="password123"
# my.cnfへの設定追加
sudo tee -a /etc/my.cnf << EOF
[mysqld]
server-id=2
log-bin=mysql-bin
read_only=1
EOF
# MySQLサービス再起動
sudo systemctl restart mysqld
# レプリケーション開始
mysql -u root -p -e "
CHANGE MASTER TO
MASTER_HOST='${MASTER_HOST}',
MASTER_USER='${REPL_USER}',
MASTER_PASSWORD='${REPL_PASS}',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;
START SLAVE;"
3. アプリケーションのデプロイ
# リポジトリクローン
git clone https://github.com/example/repo.git
cd repo
# ビルド実行
mvn clean package
# アプリケーション起動
nohup java -jar target/application.jar > app.log 2>&1 &
スクリプト実行時の注意点
- root権限が必要なコマンドが含まれます
- MySQLのマスター設定は事前に完了している必要があります
- ネットワーク設定によりファイアウォールの調整が必要な場合があります