ansible-ThoTeam.nexus3-oss
Ansibleロール: Nexus 3 OSS
このロールでは、NexusリポジトリマネージャーOSSバージョン3.xをインストールおよび設定します。
すべての設定は、ロールを再実行することで更新できます。ただし、blobstoresに関連する設定は不変です。
目次
注意: TOCリンクはAnsible Galaxyサイトで適切に機能しない場合があります。 GitHubで見る
(この文書はgh-md-tocで作成されました)
- Ansibleロール: Nexus 3 OSS
- 目次
- 歴史 / クレジット
- 要件
- ロール変数
- 一般変数
- Nexusパッケージのダウンロードディレクトリ
- Nexusポート、コンテキストパス、リスニングIP
- Nexus OSユーザーとグループ
- Nexusインスタンスのディレクトリ
- Nexus JVM設定
- プラグインのインストール
- オンボーディングウィザード
- 管理者パスワード
- デフォルトの匿名アクセス
- パブリックホスト名
- このロールのAPIアクセス
- ブランディング機能
- 監査機能
- Log4jビジュアライザー
- リバースプロキシの設定
- LDAP設定
- 権限
- ロール
- ユーザー
- コンテンツセレクター
- クリーンアップポリシー
- Blobstoresとリポジトリ
- スケジュールされたタスク
- バックアップ
- 特別なメンテナンス/デバッグ変数
- 依存関係
- 例のプレイブック
- 開発、貢献、テスト
- ライセンス
- 著者情報
歴史 / クレジット
このロールは、@savoirfairelinuxのansible-nexus3-ossのフォークです。元のリポジトリでメンテナンス終了が発表された後、いくつかのチケットに説明が記載されています:
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/36
- https://github.com/savoirfairelinux/ansible-nexus3-oss/issues/38
元の著者の方々に感謝いたします。
追悼Lionel Lecha (メイン著者からのメモ): テーブル

要件
- Ansibleの比較的新しいバージョン。私たちはメンテナンスや開発中にAnsibleのバージョンを追跡し、新機能を必要に応じて利用します(meta/main.ymlの最小バージョンも更新します)。
- 互換性のあるOS。このロールは、CentOS 8、Ubuntu Bionic (18.04)、およびDebian BusterでTravis CIを通じてテストされています。CentOS 7、Ubuntu Xenial (16.04)、およびDebian Stretchの他のモレキュールシナリオもローカルでプレイできます。
- Rsyncはターゲットマシンにインストールされている必要があります(Ansibleを実行しているホストには必要ありません)。
jmespath
ライブラリはプレイブックを実行するホストにインストールされている必要があります(json_query
フィルタに必要です)。requirements.txt
を参照してください。- Java 8(必須)
- OracleはJava 8のEOLを発表しました。Sonatypeは現在、openjdk8を推奨しています。
- 詳細はnexus3システム要件を参照してください。
- Apache HTTPD(オプション)
- SSLリバースプロキシを設定するために使用されます。
- 次のモジュールは、設定で有効にする必要があります: mod_ssl, mod_rewrite, mod_proxy, mod_proxy_http, mod_headers。
(詳細は依存関係のセクションを参照してください)
ロール変数
Ansibleの変数とデフォルト値は以下の通りです(default/main.yml
を参照):
一般変数
nexus_version: ''
nexus_timezone: 'UTC'
nexus_download_url: "http://download.sonatype.com/nexus/3"
デフォルトで最新のNexusバージョンがインストールされます。nexus_version
変数を設定することでバージョンを固定できます。利用可能なバージョンは、https://www.sonatype.com/download-oss-sonatypeで確認できます。
[中略]
バックアップ
nexus_backup_configure: false
nexus_backup_schedule_type: cron
nexus_backup_cron: '0 0 21 * * ?' # cron表現の定義
nexus_backup_dir: '/var/nexus-backup'
nexus_backup_dir_create: true
nexus_restore_log: '{{ nexus_backup_dir }}/nexus-restore.log'
nexus_backup_rotate: false
nexus_backup_keep_rotations: 4 # デフォルトで4回分のバックアップを保持
バックアップは、nexus_backup_configure: true
にしない限り設定されません。スケジュールされたタスクは、他のnexus_scheduled_tasks
とは独立しています。
特別なメンテナンス/デバッグ変数
これらはdefaults/main.yml
には存在せず、メンテナンス/デバッグの目的でのみコマンドラインで使用されるべきです。
Nexusのパージ
警告: これにより現在のデータが完全に消去されます。必要に応じてバックアップを作成してください。
ansible-playbook -i your/inventory.ini your_nexus_playbook.yml -e nexus_purge=true
依存関係
Javaとhttpdの要件は、次のGalaxyロールを使用して満たすことができます。
自由に使用したり、自分のインストールシナリオを実装したりしてください。
例のプレイブック
---
- name: Nexus
hosts: nexus
become: yes
vars:
nexus_timezone: 'Canada/Eastern'
nexus_admin_password: "{{ vault_nexus_admin_password }}"
nexus_public_hostname: 'nexus.vm'
# 省略
開発、貢献、テスト
貢献
すべての貢献を歓迎します。バグ修正、新機能、またはドキュメントに対するものです。
もし貢献を希望する場合は:
- GitHubインターフェースを使ってリポジトリを自分の名前/組織の下でフォークします。
- 自分のリポジトリに意味のある名前のブランチを作成します。
テスト
このロールには、Travisを通じてテストとCI統合が含まれています。現在テストしている項目は以下の通りです。
ライセンス
GNU GPLv3
著者情報
Nexus Repository Manager 3.x (Sonatype)
ansible-galaxy install ansible-ThoTeam.nexus3-oss