Downloads (PDF, HTML & XML formats)
[Crucible Knowledge Base]
Documentation for Crucible 3.0.x. Documentation for other versions is available too.
Hey! We're going to install Crucible on a Linux box, or a Mac. There are a few steps involved, but we think you'll find it easy to follow along. If you already have FishEye installed, you should read Upgrading from FishEye to Crucible instead.
Better check the Supported Platforms page first; it lists the application servers, databases, operating systems, web browsers and JDKs that we have tested Crucible with, and that we recommend.
Atlassian only officially supports Crucible running on x86 hardware and 64-bit derivatives of x86 hardware.
For production installations, we recommend that you create a new dedicated user that will run Crucible on your system. This user:
If you created a dedicated Crucible user, ensure you are logged in as this user to complete the remaining instructions.
In a terminal, run this:
java -version
The version of Java should be 1.6.0 or higher.
In a terminal, run this:
echo $JAVA_HOME
You should see a path something like:
OSX | /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/ |
Linux | /usr/lib/jvm/default-java |
Download Crucible from the Atlassian download site.
Extract the downloaded file to an install location:
<Crucible home directory>
in these instructions. If you use FishEye and Crucible together, they run as one instance, and use the same home directory – see Crucible and FishEye. The Crucible instance directory is where your Crucible data is stored.
Tell Crucible where you created it by adding a FISHEYE_INST environment variable as follows:
Linux | Mac |
---|---|
Open the FISHEYE_INST="path/to/<Crucible instance directory>" | Open the FISHEYE_INST="path/to/<Crucible instance directory>" export FISHEYE_INST |
<Crucible home directory>
\
config.xml
file to the root of your new Crucible instance directory.
You should not locate your Crucible instance directory inside the
— they should be entirely separate locations. If you do put the instance directory in the <Crucible home directory>
it will be overwritten, and lost, when Crucible gets upgraded. And by the way, you'll need separate Crucible instance directories if you want to run multiple copies of Crucible.<Crucible home directory>
If you have a large number of repositories, we recommend you increase the default number of files that FishEye is allowed to open. See the following knowledge base article for more info: Subversion Indexer Paused with "Too many open files" Error.
In a terminal, change directory to <Crucible home directory>
and run this:
bin/start.sh
After a few moments, in a web browser on the same machine, go to http://localhost:8060/ (or, from another machine, type http://hostname:8060/
, where hostname
is the name of the machine where you extracted Crucible).
Enter your license, then an admin password, to finish the setup.
You can postpone setting up JIRA integration until later if you wish; see Configuring JIRA integration in the Setup Wizard.
If you intend to use this Crucible installation in a production environment, it is highly recommended that you use one of the supported external databases. See Migrating to an external database.
If you are evaluating Crucible, or don't wish to do this now, Crucible will happily use its embedded database, and you can easily migrate later.
Configure the Crucible email server so that users can get notifications from Crucible. See Configuring SMTP.
Now is the time to set up your users in Crucible, and to tell Crucible about any existing repositories you have. Please read Starting to use Crucible for the details.
Crucible will perform an initial index of your repositories, during which it accesses, indexes and organizes a view of your repositories (including all historical items) back to the earliest commits. If you are evaluating Crucible, we suggest that you index a single project, so you can use Crucible as soon as possible. If you choose to index your entire repository, be aware that this can take a long time (possibly days) for massive or complex repositories and can be more complex to set up (especially for Subversion). The basic process is slightly different for each SCM type.
In a terminal, change directory to <Crucible home directory>
and run this:
bin/stop.sh
10 Comments
Anonymous
Hi!
Can't be run on Linux
bin/start.sh
Java version on server.
$ java -version
java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
Running
bin/start.sh
and I get an error message:$ ./start.sh
Error: JAVA_HOME is not defined correctly.
We cannot execute /opt/java/jdk1.6.0_33/bin/java
I don't have the java version 1.6.0_33 in /opt/java/ but I have a version 1.7.0_15 in /opt/java/.
Java path has been described in user file .bashrc
What is wrong, and why not start
bin/start.sh
?Daniel R
What does
echo $JAVA_HOME
result from the command-line? You must set this environment variable prior to running the startup script. If you need further assistance please open a support ticket at https://support.atlassian.com.Anonymous
Hi!
Thanks for your response.
My results:
$ echo $JAVA_HOME
/opt/java/jdk1.6.0_33
$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jdk1.7.0_15/bin:/home/quasimodo/bin:/opt/java/jdk1.6.0_33/bin
$ which java
/opt/java/jdk1.7.0_15/bin/java
best regards
Anonymous
Sorry, I found an error in my configuration.
Java settings were not the same in user .bash_profile and .bashrc
Amit Sharma
bin/startup.sh on red hat linux 5 gives:
Exception in thread "main" java.lang.ClassFormatError: com.cenqua.fisheye.boot.OptsSetter (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
nohup: appending output to `nohup.out'
Anonymous
What, no installer? JIra and Confluence have them....please make for this too.
N
Agree that there should be an installer. These instructions are unclear. JIRA clearly differentiates these as the install dir and the data dir. Crucible Home is the install directory!!! Crucible Instance is the data directory with I can live with. Directory permissions are not clear - I assume Crucible Home be owned by root and Crucible Instance by the crucible user. Start up initially failed until I started the server as root. Stopped it. Changed all the Instance file ownerships and then I could start it as the crucible user. The need to cd to the bin directory is annoying and there is no service script to ensure it is started when the server is started. All this before I've begun the evaluation!
Daniel R
Hello Noel,
Find the current feature request for an installer here:
https://jira.atlassian.com/browse/FE-4281
Please vote on the issue and add yourself as a Watcher to be notified of its progress. For reference, this is our policy on how new features are implemented.
A guide to developing your own startup script can be found here:
How to start Fisheye and Crucible at boot time
Chris Flynn
I definitely think in step 6 item #3 should say "move" instead of "copy". Copying the config file and not removing it or renaming it caused some issues for my installation that were not obvious to resolve. Once I renamed the config file in the <Crucible home directory> and restarted Crucible all of my issues were resolved.
Daniel R
Hello Chris,
Thanks for the feedback. The
config.xml
that is loaded is dictated by the existence of theFISHEYE_INST
environment variable so if that variable is defined, the file in that location is used and the original is not taken into consideration at all. I would argue your point however, that moving the file instead of copying it is better, as this removes any ambiguity as to the location of the data directory for any user that is logged in (and any user that is not familiar with the environment variable). I'll look into making the change in the documentation. If you'd like to discuss the specifics of your particular experience further, please open a support request at https://support.atlassian.com.Thank you,
Daniel