practical-ansible.nginx_docker
Nginx-Docker for Ansible
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