To build a Docker image for all components of Hygieia, execute the following steps:
-
Step 1: Build the Project
To package the Hygieia source code into an executable JAR file, run the Maven build from the
\Hygieia
directory of your source code installation:mvn clean install
-
Step 2: Configure your Environment
To configure your environment, find
docker-compose.override.example.yml
in the root of the project and rename it todocker-compose.override.yml
. The most commonly used properties are listed and the uncommented properties are mandatory for the collector to work:hygieia-github-scm-collector: environment: - GITHUB_HOST=github.com - GITHUB_CRON=0 * * * * * - GITHUB_COMMIT_THRESHOLD_DAYS=300 hygieia-jira-feature-collector: environment: - JIRA_BASE_URL=https://mycompany.atlassian.net/ - JIRA_CREDENTIALS=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - JIRA_ISSUE_TYPE_ID=10200 - JIRA_SPRINT_DATA_FIELD_NAME=customfield_10007 - JIRA_EPIC_FIELD_NAME=customfield_10008 hygieia-jenkins-build-collector: environment: - JENKINS_CRON=0 * * * * * - JENKINS_MASTER=http://192.168.99.100:9100 - JENKINS_USERNAME=XXXXXXXXXXXXXXXXXXXXXX - JENKINS_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXX hygieia-jenkins-cucumber-test-collector: environment: - JENKINS_CRON=0 * * * * * - JENKINS_MASTER=http://192.168.99.100:9100 - JENKINS_USERNAME=XXXXXXXXXXXXXXXXXXXXXX - JENKINS_API_KEY=XXXXXXXXXXXXXXXXX - JENKINS_CUCUMBER_JSON_FILENAME=cucumber-report.json hygieia-sonar-codequality-collector: environment: - SONAR_URL=http://192.168.99.100:9000 - SONAR_CRON=0 * * * * *
Note: For dev/testing the project, change the CRON entries to
"0 * * * * *"
.For generic Docker configuration properties, refer to the docker-compose.yml file.
-
Step 3: Start the Container Images
Start containers in the background and keep them running:
docker-compose up -d
-
Step 4: Create the admin user
The UI should now be accessible at http://localhost:3000. Click “Sign up” and create a user named “admin”. You should now be ready to start creating dashboards!
Note: You can build Docker images individually for the API and UI layers. For instructions, refer to the the API and UI documentation.