Vagrantを使ってAipo8.1.1およびAipo6.0.1の環境を用意しましたが、実はAipoには配布用パッケージを簡単にビルドする仕組みが用意されています。
https://github.com/aipocom/distribute
これと組み合わせて、最新のAipoをビルド・デプロイしてみます。
Vagrantfile
CentOS7×Aipo8.1.1インストール用をベースにしました。
途中mavenによるビルドをしているので、メモリを増やしておくといいと思います。
VAGRANTFILE_API_VERSION = "2" IMAGE_NAME = "centos7-aipo-latest" AIPO_INSTALL_SCRIPT = "../install_aipo-latest.sh" IP_ADDRESS = "192.168.1.103" IMAGE_BOX = "centos/7" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = IMAGE_BOX config.vm.provider :virtualbox do |vb| vb.name = IMAGE_NAME vb.memory = "1024" end config.vm.network "public_network", ip: IP_ADDRESS, bridge: "en0: Wi-Fi (AirPort)" config.vm.synced_folder "../vagrant_share", "/vagrant_data" config.vm.provision "shell", :path => AIPO_INSTALL_SCRIPT end
install_aipo-latest.sh
Vagrantあんまり実は関係なく、このスクリプトを回すことでAipoのパッケージングおよびデプロイができてしまいます。
#!/bin/bash DATESTR=`date +%Y%m%d` yum install -y gcc nmap lsof unzip readline-devel zlib-devel wget yum install -y git java-1.8.0-openjdk-devel wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo yum install -y apache-maven yum install -y ruby rubygem-rake # Aipo Distribute cd /usr/local/src git clone https://github.com/aipocom/distribute.git cd distribute rake installer:latest cp /usr/local/src/distribute/target/aipo-latest-${DATESTR}-linux-x64.tar.gz /usr/local/ # Install Aipo cd /usr/local/ tar -xvzf aipo-latest-${DATESTR}-linux-x64.tar.gz cd aipo-latest-${DATESTR}-linux-x64 sh installer.sh /usr/local/aipo/bin/startup.sh
https://github.com/YoshiteruIwasaki/DevOps/blob/master/install_aipo-latest.sh
distributeプロジェクト内では
- Aipoのソースコードを git clone
- mvn install
- jre,tomcat,postgresqlのパッケージング
をやっている感じになっています。
カンの鋭い方はもうお気づきかもしれませんが、カスタマイズしたAipoをLinux向け限定に配布するケースであれば、
- https://github.com/aipocom/aipo
- https://github.com/aipocom/aipo-opensocial
- https://github.com/aipocom/distribute
をフォークしてカスタマイズすればあっという間に配布用のtar.gzファイルができあがってしまいます。