practical-ansible.nginx_docker

Nginx-Docker for Ansible

Integration Quality Downloads Role

Ansibleを使って、DockerプロジェクトをNginxにデプロイします。HTTPSの有無にかかわらず使用できます。このロールは、アプリケーションを作成するために使用する言語に依存しません。継続的インテグレーションおよび継続的デプロイメントツールと一緒に使用することを目的としています。

機能

  • ビルドまたは事前構築されたDockerイメージを使用
  • Dockerレジストリは必要ありません
  • nginx_projectを介してHTTPSを設定
  • プロジェクト名を使って古いバージョンを自動的に置き換えます

前提条件

  • Nginxを設定する権限を持つ対象ユーザー
  • Dockerを実行する権限を持つ対象ユーザー

インストール

ansible-galaxy install practical-ansible.nginx_docker

使用例のプレイブック

これは最も一般的なプレイブックです。

---
- name: テスト用Dockerコンテナにデプロイ
  hosts: all
  roles:
    - role: practical-ansible.nginx_docker
      vars:
        admin_email: '[email protected]'
        image_local: 'test_app.tar'
        project_port: '3000'
        project_name: 'my-app'
        project_version: '0.1.0'
        server_names: 'localhost,www.localhost'
        use_ssl: true
        env:
          print_this: 'デプロイのテスト: X Æ A-12'

もっと多くの例は、testsディレクトリにあります。

CIの例

いくつかの構成の例があります。

参考マニュアル

DockerでラップされたアプリケーションをNginxにデプロイする際の燃え尽き症候群を避けるために使用してください。

目次


デフォルト変数

client_max_body_size

Nginxの最大ファイルアップロードサイズ。値はnginxドキュメントに定義されています。

デフォルト値

client_max_body_size: 1M

env

Dockerコンテナに渡される環境変数の辞書です。

デフォルト値

env:
  nginx_docker: yes

使用例

env:
  PORT: 80
  SECRET_TOKEN: xa2z3ik6

image_local

抽出されたDockerイメージへのパス。空の場合、役割はローカルホストでイメージをビルドしようとし、その後、リモートにイメージをアップロードします。Dockerfileはプレイブックと同じディレクトリに存在する必要があります。

デフォルト値

image_local: ''

使用例

image: './dist/my-app.tar'

image_name

Dockerリポジトリから取得されるイメージの名前です。

デフォルト値

image_name: ''

使用例

image: 'requarks/wiki'

network_name

このコンテナによって使用されるDockerネットワークの名前です。この役割は、必要に応じてそれを作成します。

デフォルト値

network_name: practical-ansible

使用例

network_name: 'totally-separated-network'

project_port

コンテナの内部ポート番号。この役割は、DockerからNginxプロキシにこのポートをマッピングします。

デフォルト値

project_port: 80

使用例

project_port: 3000

依存関係

  • {'role': 'practical-ansible.nginx_project'}

ライセンス

MIT

著者

パベル・ジャーク (Pavel Žák)

プロジェクトについて

Deploy your Docker project to Nginx with minimal config

インストール
ansible-galaxy install practical-ansible.nginx_docker
ライセンス
mit
ダウンロード
660
所有者
Tiny Ansible roles and playbooks that help you with web hosting in a world of VPS