タグ

ブックマーク / www.ianlewis.org (4)

  • (より)小さいDockerイメージを作ろう

    最近、コンテナ技術が流行っていていろなツールを興味深く触っている。その中の一番人気のはみんな大好きなDockerDockerdocker runでコンテナの実行環境を簡単に作ってくれる上、docker build でコンテナのイメージの構築も簡単にできる。Dockerのイメージ構築はDockerfileというMakefileのようなファイルを元にその中のコマンドを順番に実行して構築していくもの。 例えば、 FROM debian:jessie RUN apt-get update RUN apt-get install -y python RUN mkdir -p /data VOLUME ["/data"] WORKDIR /data EXPOSE 8000 CMD [ "python", "-m", "SimpleHTTPServer", "8000" ]

    dann
    dann 2015/11/27
  • Fabric デプロイツールのPythonicな書き方 - Ian Lewis

    Fabric は指定したコマンドを各ホストで実行する実行モデルです。この場合は特にホストの指定がなかったので、全部ローカルで、一回実行することになります。 これは結構つまんないので、当の例を見ましょう。これは最近、仕事で作ったコマンドです。 nginx サーバーでメンテ画面を出すようなコマンドです。 各ロードバランサーで実行します。 from fabric.api import run, cd, abort, require, sudo, env from fabric.decorators import runs_once, roles from fabric.contrib.console import confirm ... @roles('loadbalancers') def start_maintenance(): """ メンテナンス画面に切り替える """ _produc

  • PYPI を使わないでデプロイする方法

    pip、buildout などを使うとデプロイする時に Python ライブラリの依存関係はややこしいことがあります。 普段はデプロイスクリプトで、 pip に requirements.txt を指定して、もしくは、 buildoutを実行して、 依存ライブラリを落としてインストールしますが、 PYPI がダウンしている場合、環境によって、PYPIにアクセス 出来ない場合もありますので、デプロイが止まってしまって困ります。 PYPIはダウンしている時に pip は PYPI のミラーを使うことができますが、ミラーに必要がパッケージバージョンが入っていない、 ミラーの最後のIDのDNS が ちゃんと動いていないときに、 pip は当然ちゃんと動かない場合も。 bitbucket や、 github からのリポジトリに依存している場合、 接続できなかったら、ミラーがないので、当然インストール

  • virtualenv, virtualenvwrapper, pip を使う方法

    あるプロジェクトの依存は特定なバージョンじゃないとダメな場合が結構多いと思いますけど、最近、pythonの仮想環境を簡単に作れるようになりました。virtualenv と virtualenvwrapper と pip の組み合わせを紹介します。 virtualenvは環境を作ってくれるライブラリで、virtualenvwrapperはその作った環境を簡単に管理してくれるツールになります。 まず、virtualenv と virtualenvwrapper をインストール.

  • 1