2013年1月27日日曜日

Python版コマンドラインツールを初回起動時に自動アップデート

スズキです。

以前、CentOS6上で下記のようにPython版コマンドラインツールをインストールしました。
Python版AWSコマンドラインツールをCentOS6で使ってみた
そして、このツールのアップデートは下記で行うことが可能です。
# pip-python install awscli --upgrade

当然、このアップデートは(EC2)初回起動時に行いたいわけですが、以前、下記で紹介した、
"cloud-init"を利用することで簡単に実現できます。
"cloud-init"でスクリプトが実行されるタイミングを調べてみた
実際には次のようなスクリプトを用意します。

https://github.com/suz-lab/suz-lab-centos-ami/blob/master/bin/update-awscli
#!/bin/sh
set -e
trap 'echo "NG: $?"' ERR
pip-python install awscli --upgrade 2>&1 | logger -s -t ${0##*/}
exit 0

そして、次のように配置すればOKです。
# cd /var/lib/cloud/scripts/per-once
# ln -s /opt/suz-lab/bin/update-awscli update-awscli

すると、(EC2)初回起動時に下記のようなログが出力されるはずです。
# cat /var/log/messages
...
Jan 27 07:11:49 ip-10-146-26-215 update-awscli: Successfully installed argparse awscli botocore python-dateutil requests six
Jan 27 07:11:49 ip-10-146-26-215 update-awscli: Cleaning up...
...

とりあえず、6.3.7に組み込む課題は終了。
--------
http://www.suz-lab.com

0 コメント: