cookbook 'jira', '= 2.5.1'
jira
(29) Versions
2.5.1
-
Follow26
Installs/Configures Atlassian JIRA.
cookbook 'jira', '= 2.5.1', :supermarket
knife supermarket install jira
knife supermarket download jira
Jira Cookbook
WARNING - This cookbook was essentially replaced by a new cookbook starting version 2.0. This is a breaking change.
Description
Installs/Configures Atlassian JIRA. Please see [COMPATIBILITY.md](COMPATIBILITY.md) for more information about JIRA releases that are tested and supported by this cookbook and its versions.
Requirements
Chef
- Chef 11+ for version 2.0.0+ of this cookbook
Platforms
- CentOS 6
- RHEL 6
- Ubuntu 12.04
Databases
- Microsoft SQL Server
- MySQL
- Postgres
Cookbooks
Required Opscode Cookbooks
- apache2 (if using apache2 recipe)
- ark
- database (if using database recipe)
- mysql (if using database recipe with MySQL)
- postgresql (if using database recipe with Postgres)
Required Third-Party Cookbooks
- mysql_connector (if using MySQL database)
Suggested Opscode Cookbooks
JDK/JRE
The Atlassian JIRA Linux installer will automatically configure a bundled JRE. If you wish to use your own JDK/JRE, with say the java
cookbook, then as of this writing it must be Oracle and version 1.6 (Supported Platforms)
Necessary configuration with java
cookbook:
* node['java']['install_flavor'] = "oracle"
* node['java']['oracle']['accept_oracle_download_terms'] = true
* recipe[java]
A /ht to @seekely for the documentation nudge.
Attributes
These attributes are under the node['jira']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
checksum | SHA256 checksum for JIRA install | String | auto-detected by helper method |
home_path | home directory for JIRA | String | /var/atlassian/application-data/jira |
install_path | location to install JIRA | String | /opt/atlassian/jira |
install_type | JIRA install type - "installer" or "standalone" | String | installer |
init_type | JIRA init service type - "sysv" | String | sysv |
url | URL for JIRA install | String | auto-detected by helper method |
user | user running JIRA | String | jira |
version | JIRA version to install | String | 6.1.5 |
JIRA Database Attributes
All of these node['jira']['database']
attributes are overridden by jira/jira
encrypted data bag (Hosted Chef) or data bag (Chef Solo), if it exists
Attribute | Description | Type | Default |
---|---|---|---|
host | FQDN or "localhost" (localhost automatically installs ['database']['type'] server in default recipe) |
String | localhost |
name | JIRA database name | String | jira |
password | JIRA database user password | String | changeit |
type | JIRA database type - "mssql", "mysql", or "postgresql" | String | mysql |
user | JIRA database user | String | jira |
JIRA JVM Attributes
These attributes are under the node['jira']['jvm']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
minimum_memory | JVM minimum memory | String | 512m |
maximum_memory | JVM maximum memory | String | 768m |
maximum_permgen | JVM maximum PermGen memory | String | 256m |
java_opts | additional JAVA_OPTS to be passed to JIRA JVM during startup | String | "" |
support_args | additional JAVA_OPTS recommended by Atlassian support for JIRA JVM during startup | String | "" |
JIRA Tomcat Attributes
These attributes are under the node['jira']['tomcat']
namespace.
Attribute | Description | Type | Default |
---|---|---|---|
port | Tomcat HTTP port | Fixnum | 8080 |
Recipes
-
recipe['jira']
'Installs/configures Atlassian JIRA' -
recipe['jira::apache2']
'Installs/configures Apache 2 as proxy (ports 80/443)' -
recipe['jira::container_server_configuration']
'Configures container server for JIRA deployment' -
recipe['jira::database']
'Installs/configures MySQL/Postgres server, database, and user for JIRA' -
recipe['jira::installer']
'Installs/configures JIRA via installer' -
recipe['jira::standalone']
'Installs/configures JIRA via standalone archive'
Usage
JIRA Server Data Bag
Optionally for securely overriding attributes on Hosted Chef, create a jira/jira
encrypted data bag with the model below. Chef Solo can override the same attributes with a jira/jira
unencrypted data bag of the same information.
required:
* ['database']['type']
- "mssql", "mysql", or "postgresql"
* ['database']['host']
- FQDN or "localhost" (localhost automatically installs ['database']['type']
server)
* ['database']['name']
- Name of JIRA database
* ['database']['user']
- JIRA database username
* ['database']['password']
- JIRA database username password
optional:
* ['database']['port']
- Database port, defaults to standard database port for ['database']['type']
Repeat for other Chef environments as necessary. Example:
{
"id": "jira",
"development": {
"database": {
"type": "postgresql",
"host": "localhost",
"name": "jira",
"user": "jira",
"password": "jira_db_password",
}
}
}
Default JIRA Installation
The simplest method is via the default recipe, which uses node['jira']['install_type']
(defaults to installer).
- Optionally (un)encrypted data bag or set attributes
knife data bag create jira
knife data bag edit jira jira --secret-file=path/to/secret
- Add
recipe[jira]
to your node's run list.
Standalone JIRA Installation
Operates similarly to installer installation, however has added benefits of using ark
to create version symlinks of each install. Easily can rollback upgrades by changing node['jira']['version']
.
- Optionally (un)encrypted data bag or set attributes
knife data bag create jira
knife data bag edit jira jira --secret-file=path/to/secret
- Set
node['jira']['install_type']
to standalone - Add
recipe[jira]
to your node's run list.
JIRA WAR Support
Starting from JIRA 7, WAR installation is no longer supported:
https://confluence.atlassian.com/jira/installing-jira-war-185729447.html
Custom JIRA Configurations
Using individual recipes, you can use this cookbook to configure JIRA to fit your environment.
- Optionally (un)encrypted data bag or set attributes
knife data bag create jira
knife data bag edit jira jira --secret-file=path/to/secret
- Add individual recipes to your node's run list.
Testing and Development
- Quickly testing with Vagrant: [VAGRANT.md](VAGRANT.md)
- Full development and testing workflow with Test Kitchen and friends: [TESTING.md](TESTING.md)
For Vagrant, you may need to add the following hosts entries:
- 192.168.50.10 jira-centos-6
- 192.168.50.10 jira-ubuntu-1204
- (etc.)
The running JIRA server is then accessible from the host machine:
CentOS 6 Box:
* Web UI (installer/standalone): https://jira-centos-6/
Ubuntu 12.04 Box:
* Web UI (installer/standalone): https://jira-ubuntu-1204/
Contributing
Please see contributing information in: [CONTRIBUTING.md](CONTRIBUTING.md)
Maintainers
- KLM Royal Dutch Airlines
License
Please see licensing information in: [LICENSE](LICENSE)
Dependent cookbooks
apache2 >= 0.0.0 |
ark >= 0.0.0 |
database >= 0.0.0 |
java >= 0.0.0 |
mysql ~> 6.0 |
mysql_connector >= 0.0.0 |
mysql2_chef_gem >= 0.0.0 |
postgresql >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
x.y.z (pending)
2.5.1
- MIGRATED: renamed cookbook chef_jira -> jira after getting the supermarket namespace
- Bump default version to JIRA 6.4.11
- Use https for Jira downloads. [GH-18]
- Added service restart when ark resource changes. [GH-16]
- Added support for PostgreSQL 9.2+ in
dbconfig.xml
. [GH-14] - Fixed LWRPs after cookbook name change. [GH-13]
- Set Tomcat
proxyName
/proxyPort
even without SSL. [GH-11] - Removed unnecessary non-dynamic
web.xml
template. [GH-10] - Fixed setting of
jira.home
for all install types. [GH-15]
Thanks go to @elijah @gsreynolds @legal90 and @patcon for helping out in this
release.
2.1.0
- MIGRATED: renamed cookbook jira -> chef_jira
2.0.1
- Bugfix: #8: Remove include_attribute from default attributes to prevent hard dependency on tomcat cookbook
2.0.0
If you were using the default recipe, there are no changes you need to make for your environment to upgrade this cookbook.
Major features are full support for standalone deployments and war building/deployments. Using ark where possible (its worked well for those using my Stash cookbook).
I've removed the upgrade recipe in favor of using ark. If you'd like to keep old JIRA installations around (in case of upgrade issues, etc.), I would recommend switching to the standalone install_type since ark will automatically create versioned symlinks and you can easily revert node['jira']['version']
. To convert install_type if install_path is the default (X.Y.Z being currently installed node['jira']['version']
):
* service jira stop
* mv /opt/atlassian/jira /opt/atlassian/jira-X.Y.Z
* ln -s /opt/atlassian/jira-X.Y.Z /opt/atlassian/jira
* Set node['jira']['install_type']
to standalone
* Run Chef Client
Other than that, migrated some recipes/templates and split out some recipes from the old linux_installer recipe, so ensure that if you're using a custom run list or template override for any nodes, that they include the new recipes/template location as necessary.
Full details:
* REMOVED: upgrade recipe and associated backup_* and *_backup attributes
* MIGRATED: linux_installer -> installer recipe
* MIGRATED: tomcat_configuration -> container_server_configuration recipe
* MIGRATED: Tomcat templates into tomcat folder:
* permgen.sh.erb -> tomcat/permgen.sh.erb
* server.xml.erb -> tomcat/server.xml.erb
* setenv.sh.erb -> tomcat/setenv.sh.erb
* web.xml.erb -> tomcat/web.xml.erb
* SPLIT: SysV init service configuration into sysv recipe and add init_type attribute
* SPLIT: database jar deployment (mysql_connector_j, etc.) into container_server_jars recipe which also installs JIRA jars for war install_type
* Bugfix: Use :create action instead of :create_if_missing for installer remote_file
* Enhancement: Add standalone and war recipes and quite a few attributes for supporting those install_type's
* Enhancement: Add build_war recipe
* Enhancement: LWRPs for handling multiple instances of install, etc.
* Enhancement: Bump default JIRA version to 6.1.5
1.7.0
- Bump default JIRA version to 6.1
1.6.0
- Bump default JIRA version to 6.0.7
1.5.0
- Bump default JIRA version to 6.0.6
1.4.0
- Initial Microsoft SQL Server support
1.3.0
- Bump default JIRA version to 6.0.5
1.2.0
- Bump default JIRA version to 6.0.2
1.1.0
- Bump default JIRA version to 6.0.1
1.0.0
- Split default recipe into individual recipes
- apache2 recipe does not include default recipe
- Load database/tomcat settings via Jira.settings library (bonus: help support Chef Solo)
- Moved apache2 attributes into default attributes
- Bump default JIRA version to 5.2.11
- Added url_base attribute
- Auto-detect checksum attribute for some versions
- Added Vagrantfile and Test Kitchen for testing
- minitest fixes
- Added COMPATIBILITY.md
- Refactored README documentation
0.1.3
- Chef 11 fixes in apache2 recipe
v0.1.2
- Hopefully removed hard dependency on java_ark from java cookbook
v0.1.1
- Added permgen.sh template for custom JAVA_HOME, otherwise always defaults to JIRA installed JRE
v0.1.0
- Initial release
Foodcritic Metric
2.5.1 failed this metric
FC002: Avoid string interpolation where not required: /tmp/cook/328f7b668448f7c4ec2b190f/jira/recipes/installer.rb:19
FC052: Metadata uses the unimplemented "suggests" keyword: /tmp/cook/328f7b668448f7c4ec2b190f/jira/metadata.rb:24
2.5.1 failed this metric
FC052: Metadata uses the unimplemented "suggests" keyword: /tmp/cook/328f7b668448f7c4ec2b190f/jira/metadata.rb:24