LoginSignup
4
9

More than 5 years have passed since last update.

保守開発でのLinux本番リリース作業

Last updated at Posted at 2016-08-08

私自身大手SIerで大規模システム開発に参画することが多いです。

タスクが細分化された現場故、本番リリース作業に携わることは早々ありませんでした。

ただし規模の小さな会社ですと、企画・設計〜開発・試験、そして本番リリース・保守運用と、一気通貫で一人で担当する案件もあり、そんな現場に参画した時は結構苦労します。

元々インフラに難があった私も、コンソール上での作業に戸惑いを感じつつ、幾つかの案件で開発から本番リリースまでを経験しましたが、その時にリリース作業をメモ書きで公開。

ログイン先・ユーザの確認

作業先サーバに、正しいユーザでログイン。

Windows環境であればtera termで、Macであればターミナルで作業することが多い。

//オペレーティングシステム名表示
uname -a

//ユーザー確認
whoami

正しい作業サーバであるか、正しい作業ユーザであることを確認し誤っていればログアウトする。

リリース対象ソースの取得

私の現場ではSVNを利用していたので、以下にSVNコマンドを記載。

//ソース取得
svn export URL

例えば・・・
svn export http://xxxx.yyyy.zzzz.ad.jp/repos/Source/tags/REL-1.0

上記コマンドは作業先サーバのしかるべき場所で実行する。

本番リリース作業

以下手順を実施して誤ったプログラムが本番リリースされないように注意。

//1 差異比較
diff /home/dev/source/test1.yml /home/hon/source/test1.yml

//2 ファイル情報確認
ls -l /home/hon/source/test1.yml
ls -l /home/hon/source/test2.yml

//3 権限変更
chmod 644 /home/dev/source/test1.yml
chmod 644 /home/dev/source/test2.yml

//4 チェックサム
cksum /home/hon/source/test1.yml
cksum /home/hon/source/test2.yml

//5 リリースディレクトリ作成
mkdir -p /home/release/source

//6 リリースディレクトリへコピー
cp -vp /home/hon/source/test1.yml /home/release/source/test1.yml
cp -vp /home/hon/source/test2.yml /home/release/source/test2.yml

//7 tarファイル化(新規tarファイル作成)
tar -cvPf Tag1.tar /home/release/source/test1.yml

※既存tarファイル追加時
tar -rvPf Tag1.tar /home/release/source/test2.yml

//8 zipファイル化
gzip -v Tag1.tar

上記手順によりリリース対象ファイルをzip化した後、本番環境で展開してリリース。

リリース後のログ監視

リリース後は不具合が起きていないか、ログ監視実施。

tail -fn 行数 対象ログ

例)
tail -fn 100 /var/log/app.log
tail -fn 100 /var/log/app.log | grep 'test'

いつもこの瞬間はドキドキして吐き気が止まらない...

4
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
9