werckerでemail-notifyの設定をする

werckerのdeploy完了後に通知が欲しくなったのでemail-notifyの設定してみました。設定後のwercker.ymlはこんな感じです。追加したのはdeployセクションにあるafter-stepsの箇所ですね。

box: wercker/python
 # Build definition
 build:
   # The steps that will be executed on build
   steps:
     # Use this virtualenv step for python 3.3
     - virtualenv:
         name: setup virtual environment
         python_location: /usr/bin/python3.3
 
     # A step that executes `pip install` command
     - pip-install:
         requirements_file: "requirements.txt" # Optional argument.
 
     # A custom script step, name value is used in the UI
     # and the code value contains the command that get executed
     - script:
         name: make html files
         code: |
             python freeze.py
 # Deploy definition
 deploy:
   steps:
       - s3sync:
           key_id: $KEY
           key_secret: $SECRET
           bucket_url: $URL
           source_dir: build/
+
+  after-steps:
+      - email-notify:
+          from: alerts@wercker.com
+          to: example@example.com
+          username: $EMAIL_USER
+          password: $EMAIL_PASSWORD
+          host: smtp.gmail.com:587

$EMAIL_USERと$EMAIL_PASSWORDはwerckerのApplication設定で変数登録(PIPELINEのAdd new variable)をしてあげればwercker.ymlにパスワード等を直接記載必要がなくて安全です。
ひとつ注意点ですが、smtpにGmail(及びGoogle Apps)を使用する場合で二段階認証を設定している場合は普段使用しているパスワードでなく、アプリごとにパスワードを発行する必要があるのでwercker用のパスワードを発行し、それを登録する必要があります(思いっきりハマりました。。)。


  • このエントリーをはてなブックマークに追加
PAGE TOP