karlmdavis.rcm-dotfiles

ビルドステータス

RCMのためのAnsibleロール

このAnsibleロールは、dotfiles管理ツールであるRCMをインストールおよび設定するために使用できます。

このロールを適用すると、定義されたリポジトリをローカルで変更できます。これらのリポジトリで作成された新しいdotfilesは、次のコマンドを実行するだけでデプロイできます:

$ rcup -f

必要条件

このロールは、Ansible管理システムに次のものが必要です:

  • Ansible>=2.4.0.0
  • git>=1.7.1(コマンドラインツール)

管理対象のシステムには、次のものが必要です:

  • Ubuntu 16.04(rcm_install_mode: no_internetを使用しない場合、ほとんどのOSがサポートされています)

ロール変数

ユーザーが定義できる変数を以下に示します:

  • rcm_user: RCMリポジトリがインストールされるユーザー。
  • rcm_repos: インストールされるdotfilesのGitリポジトリのリスト。
    • repo: GitリポジトリのURL。
    • refspec: クローンする特定のGitリビジョン(デフォルトはmaster)。
    • dest: リポジトリをクローンするディレクトリ。
  • rcm_install_mode: no_internetに設定すると、管理システムで全てのダウンロードを行い、管理されるシステムにインターネット接続があると仮定しません。このモードでは、RCMはユーザーごとにインストールされ、システム全体ではありません。
  • rcm_replace_existing_files: trueに設定すると、rcup-fフラグが渡され、既存のファイルを上書きできます。たとえば、ユーザーのデフォルトのbashrcファイルをdotfilesリポジトリからのものに置き換えるために使用できます。

デフォルトの変数とそのデフォルト値についてはdefaults/main.ymlを参照してください。

依存関係

このロールは他のAnsibleロールに実行時依存関係はありません。

プレイブックの例

以下は、このロールをAnsibleプレイでboxホストに適用する例です:

- hosts: box
  tasks:
    - name: RCMのインストールと設定
      include_role:
        name: karlmdavis.rcm-dotfiles
      vars:
        rcm_user: ansible_test
        rcm_install_mode: no_internet
        rcm_repos:
          - repo: 'https://foosball.example.com/path/to/repo.git'
            dest: '/home/karl/.dotfiles-repo.git'

開発環境

このプロジェクトを開発・修正するために、いくつかのツールをインストールする必要があります。

Python

このプロジェクトはPython 2.7が必要です。以下のようにインストールできます:

$ sudo apt-get install python

virtualenv

このプロジェクトには、pipを介してインストールする必要がある依存関係があります(apt-getではなく)。したがって、これらの依存関係を管理するためにPython仮想環境の使用を強くお勧めします。

まだインストールされていない場合は、virtualenvパッケージをインストールしてください。Ubuntuでは、以下のように行うのが最適です:

$ sudo apt-get install python-virtualenv

Docker

テスト用のDockerコンテナをローカルで起動することが便利なこともあります。そのためには、Dockerをインストールする必要があります。そのインストールはこのガイドの範囲外ですが、簡単なウェブ検索で始められるはずです。

テストの実行

これらのツールがインストールされたら、test/run-tests.shスクリプトを使用してローカルでテストを実行できます。または、変更をGitHubのブランチやプルリクエストにプッシュし、Travis CIがテストを実行します:Travis CI: karlmdavis/ansible-role-rcm-dotfiles

ライセンス

このプロジェクトはGNU一般公衆ライセンス第3版の下でライセンスされています。

プロジェクトについて

This Ansible role can be used to install and configure RCM (https://github.com/thoughtbot/rcm), a management suite for dotfiles.

インストール
ansible-galaxy install karlmdavis.rcm-dotfiles
ライセンス
gpl-3.0
ダウンロード
149
所有者