3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

EC2にログインしてdockerbuildまでをTeraTermマクロを使って自動化してみた

Last updated at Posted at 2022-12-20

背景

社内にて開発しているアプリケーションがあります。
テスト環境と本番環境の2環境準備しているのですが、テスト環境については環境に反映する頻度が多いです。

毎回の手順として、
①TeraTermにログイン
②Dockerfileがあるディレクトリに移動
③dockerbuildする
という作業をしています。手作業での時間は約1分なので自動化するほどでもないのですが、ログが残らないのともっと簡単にやりたいというモチベーションのもと、上記手順を自動化してみました。

作ったコード

・7~10行目の接続情報
・31行目以降のコマンド
この2点をカスタマイズしていただくとご自身の環境でも動くと思います。

Dockerbuild.ttl
;============================================= 
; Description : SSHAutologin and docker build 
; Author      : msymacromill
; Created     : 2022/12/16 
;============================================== 
;; 接続先ホスト/ユーザ名/パスワード設定/ログ設定  
USERNAME = 'ec2-user' 
HOSTNAME = 'xx.xxx.xx.xx'
KEY_FILE = 'xxxxxx.pem'
LOGDIR = 'C:\xxxxxxxxxxxxxxxxx'
;============================================== 

;; ①ログイン情報を構成する
msg = HOSTNAME
strconcat msg ':22 /ssh2 /auth=publickey /user='
strconcat msg USERNAME
strconcat msg ' /keyfile='
strconcat msg KEY_FILE
 
;; ②接続する
connect msg

; ログファイルを作成する
getdate DATE '%Y%m%d-%H%M%S.log'
LOGNAME = '\docker_build_'
strconcat LOGDIR LOGNAME
strconcat LOGDIR DATE
logopen LOGDIR 0 0

;; ③コマンドを実行する
;Dockerfile_appがあるフォルダに移動してbuildする
wait "$"
sendln "cd <Dockerfileがあるディレクトリ>"
wait "$"
sendln "docker build -f Dockerfile -t <image名> ."
wait "$"
sendln "docker images"
wait "$"
logclose

手順

  1. 上記コードを書く
    テキストファイルで上記コードを記入後、拡張子「.ttl」ファイルで保存します。

  2. ttlファイルをttpmacro.exeで開く
    拡張子「.ttl」ファイルはそのままでは開けません。
    「C:\Program Files (x86)\teraterm」内に「ttpmacro.exe」があるのでそれで開きましょう。
    「右クリック > プログラムから開く > 別のプログラムを選択 > このPCで別のアプリを探す」から「ttpmacro.exe」を選択すると開くようになります。

image.png

最後に

TeraTermにはマクロ機能があるようです。初めて知りました。
これでワンクリックでDockerimageを更新できるのでとても楽です。
また
・ログを残すように設定したので、どのタイミングでDockerimageを更新したのかを追えるようになった
・Windowsタスクスケジューラに乗せれば日時でDockerimage更新をしてくれるようになるのでテスト環境の反映がよりスピーディーにできる
というメリットも副次的に得ることができました。

参考

AWSのEC2にTeraTermマクロで自動ログインとログ取得する方法

TeraTermマクロでコードを実行する方法

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?