Code Monkey home page Code Monkey logo

artifactory's Introduction

bbaassssiiee.artifactory

Install Artifactory, the Maven repository manager by JFrog.

Requirements

This role was built for RedHat systems like RHEL 6, Centos 6. It needs Java, and PostgreSQL or MySQL.

Role Variables

artifactory_database can hold either 'mysql' or 'postgresql', you should provide the database yourself now, it is no longer a transitive dependency.

artifactory_password is defined in defaults/main/yml, override it in group_vars.

artifactory_version is defined in vars/main.yml Set JAVA_OPTIONS in templates/etc-opt-jfrog-artifactory-default.j2

Dependencies

Artifactory needs Java and either PostgreSQL or MySQL. I tested this role with Java by geerlingguy and MariaDB by pcextreme.

ansible-galaxy install -p roles pcextreme.mariadb ansible-galaxy install -p roles geerlingguy.java

Example Playbook

For a complete example with this role check out my buildserver: git clone https://github.com/bbaassssiiee/buildserver.git

Example of how to use this role:

- hosts: servers
  roles:
     - { role: bbaassssiiee.artifactory }

License

BSD,MIT

Author Information

Bas Meijer @bbaassssiiee

artifactory's People

Contributors

bbaassssiiee avatar elementalvoid avatar tdesvenain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

artifactory's Issues

Centos 6 - tomcat fails to start using 'service artifactory start'

In the file ~/tasks/install.yml the 'create user to run artifactory' (line 17) role is defined by:
user: name={{artifactory_username}} home=/opt/artifactory/ shell=/bin/false system=true

This creates a problem in starting via service or /etc/init.d/artifactory.

A solution was changing this line to:
user: name={{artifactory_username}} home=/opt/artifactory/ shell=/bin/bash system=true

hope this helps

Setting up without welcome screen

Is there some way to configure this without having to deal with welcome screen - i.e., setting up repositories, etc., automatically?

Would prefer configuration as part of the code.

failed dependencies in requirements.yml for molecule

molecule failed to run because of incorrect dependencies in requirements.yml

$ molecule --version molecule, version 1.25.1

$ ansible --version ansible 2.7.4

$ molecule test
--> Destroying instances...
--> Downloading dependencies with 'galaxy'...
- downloading role 'base_java8', owned by bbaassssiiee
- downloading role from https://github.com/bbaassssiiee/base_java8/archive/v0.2.5.tar.gz
- extracting bbaassssiiee.base_java8 to /Users/Evgenii/git/dev/artifactory/.molecule/roles/bbaassssiiee.base_java8
- bbaassssiiee.base_java8 (v0.2.5) was installed successfully
- downloading role 'base_postgres', owned by bbaassssiiee
- downloading role from https://github.com/bbaassssiiee/base_postgres/archive/v0.1.1.tar.gz
- extracting bbaassssiiee.base_postgres to /Users/Evgenii/git/dev/artifactory/.molecule/roles/bbaassssiiee.base_postgres
- bbaassssiiee.base_postgres (v0.1.1) was installed successfully
--> Checking playbook's syntax...
ERROR! the role 'dockpack.base_java8' was not found in /Users/Evgenii/git/dev/artifactory/roles:/Users/Evgenii/git/dev/artifactory/.molecule/.molecule/roles:/Users/Evgenii/git/dev/artifactory/.molecule/roles:/Users/Evgenii/git/dev/artifactory:/Users/Evgenii/git/dev:/Users/Evgenii/git/dev:/Users/Evgenii/git/dev/artifactory

The error appears to have been in '/Users/Evgenii/git/dev/artifactory/meta/main.yml': line 25, column 5, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

dependencies:
  - dockpack.base_java8
    ^ here

Molecule Idempotence test failed for bbaassssiiee.base_postgres

$ molecule --version molecule, version 1.25.1

$ ansible --version ansible 2.7.4

--> Idempotence test in progress (can take a few minutes)...
--> Starting Ansible Run...
ERROR: Idempotence test failed because of the following tasks:
ERROR: * [vm] => bbaassssiiee.base_postgres : set listen on on ipv4 addresses
* [vm] => bbaassssiiee.base_postgres : set replication setting: wal_level
* [vm] => artifactory : create configuration file
* [vm] => artifactory : install artifactory as a service
* [vm] => artifactory : ensure storage properties configuration is present with derby driver

Invoking "yum" only once while using a loop via squash_actions is deprecated.

TASK [bbaassssiiee.artifactory : yum install prerequesites] ********************
[DEPRECATION WARNING]: Invoking "yum" only once while using a loop via 
squash_actions is deprecated. Instead of using a loop to supply multiple items 
and specifying `name: {{ item }}`, please use `name: [u'openssl', u'unzip']` 
and remove the loop. This feature will be removed in version 2.11. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

java check fails to detect java

it seems that the logic for detecting if java is already installed failed as I had previously installed Oracle Java 8 on the target host and it seems that it decided to install openjdk7 instead, which was not quite desired.

database var features.postgres too generic

Provide one role-specific variable to specify either mysql or postgresql. That will allow users to recognize the purpose of the var and avoid name collision in global namespace.

I was not even interested in using mysql for artifactory as postgresql seems like a much better pick

It seems that it fails to install the mysql jdbc drivers on Debian 8.1

TASK: [bbaassssiiee.artifactory | seboolean allow_user_mysql_connect] *********
failed: [repo.do.citrite.net] => {"failed": true}
msg: This module requires libselinux-python support

FATAL: all hosts have already failed -- aborting

In fact I was not even interested in using mysql for artifactory as postgresql seems like a much better pick, still the default settings failed to install.

Unused file?

Is settings_xml.j2 used for anything or should it be removed...

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.