ansible-ThoTeam.nexus3-oss

Ansibleロール: Nexus 3 OSS

このロールでは、NexusリポジトリマネージャーOSSバージョン3.xをインストールおよび設定します。

すべての設定は、ロールを再実行することで更新できます。ただし、blobstoresに関連する設定は不変です。

目次

注意: TOCリンクはAnsible Galaxyサイトで適切に機能しない場合があります。 GitHubで見る

(この文書はgh-md-tocで作成されました)

歴史 / クレジット

このロールは、@savoirfairelinuxansible-nexus3-ossのフォークです。元のリポジトリでメンテナンス終了が発表された後、いくつかのチケットに説明が記載されています:

元の著者の方々に感謝いたします。

追悼Lionel Lecha (メイン著者からのメモ): テーブル Lionel Lechaの写真 この作業は、2018年に外部請負業者として彼のユニットのためにnexusのデプロイを自動化し始めたとき、La PosteのSMAP APPUIのディレクターであるLionel Lechaの無条件の信頼がなければコミュニティに届けられなかったでしょう。Lionelは2023年2月17日に60歳で早く亡くなりました。あなたの常に良い気分と信頼に感謝します。

要件

  • 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

著者情報

詳細はこちら: https://github.com/ansible-ThoTeam

プロジェクトについて

Nexus Repository Manager 3.x (Sonatype)

インストール
ansible-galaxy install ansible-ThoTeam.nexus3-oss
ライセンス
gpl-3.0
ダウンロード
1.1M
所有者
Ansible public collections and roles by ThoTeam. Contributions welcome