Hygieia 是一个开源的项目,是Capitalone 开源的DevOps利器,可以用来构建端到端的DevOps Dashboard。
使用Hygieia后,在整个软件开发周期中,用户可以选择VersionOne、gitlab或Jira进行用户故事的追踪,选择Subversion,GitHub,gitlab等作为代码仓库,选择Jenkins或Hudson进行构建,选择Selenium和SonarQube用于质量检测,以及选择uDeploy或Jenkins进行部署等等。
项目入口: https://github.com/capitalone/Hygieia
文档入口: http://capitalone.github.io/Hygieia/getting_started.html
http://capitalone.github.io/Hygieia/Introduction.html
本人用的编译环境: JDK 1.8.0_151 ,Maven 3.3.9
git clone https://github.com/capitalone/Hygieia.git
cd Hygieia
mvn clean install package
编译成功后,可以看到相应目录下生成对应组件的jar包
[root@vm-10-112-34-22 Hygieia]# ls
api circle.yml db Hygieia2.md logs mvnw README.md test-servers
api-audit collectors docker-compose.yml hygieia-jenkins-plugin MAINTAINERS mvnw.cmd release.md UI
CHANGELOG.md conf docker-compose.yml.org hygieia.json media pmd.xml rev-version.sh UI-tests
checkstyle.xml core features.md LICENSE mongosrc.js pom.xml Setup.md wrap.sh
[root@vm-10-112-34-22 Hygieia]# ls -lh */target/*.jar
-rw-r--r-- 1 root root 56M Jan 19 09:51 api-audit/target/apiaudit.jar
-rw-r--r-- 1 root root 56M Jan 19 09:51 api/target/api.jar
-rw-r--r-- 1 root root 23M Jan 19 09:51 core/target/core-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 119K Jan 19 09:53 hygieia-jenkins-plugin/target/hygieia-publisher.jar
-rw-r--r-- 1 root root 3.7K Jan 19 09:54 UI-tests/target/ui-tests.jar
[root@vm-10-112-34-22 Hygieia]# ls -lh collectors/*/*/target/*.jar
-rw-r--r-- 1 root root 47M Jan 19 09:51 collectors/artifact/artifactory/target/artifactory-artifact-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 46M Jan 19 09:51 collectors/build/bamboo/target/bamboo-build-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 47M Jan 19 09:51 collectors/build/jenkins-codequality/target/jenkins-codequality-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 46M Jan 19 09:51 collectors/build/jenkins-cucumber/target/jenkins-cucumber-test-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 46M Jan 19 09:51 collectors/build/jenkins/target/jenkins-build-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 47M Jan 19 09:51 collectors/build/sonar/target/sonar-codequality-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 67M Jan 19 09:51 collectors/cloud/aws/target/aws-cloud-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/cmdb/hpsm/target/hpsm-cmdb-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 47M Jan 19 09:51 collectors/deploy/udeploy/target/udeploy-deployment-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 47M Jan 19 09:52 collectors/deploy/xldeploy/target/xldeploy-deployment-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 55M Jan 19 09:52 collectors/feature/gitlab/target/gitlab-feature-collector.jar
-rw-r--r-- 1 root root 65M Jan 19 09:52 collectors/feature/jira/target/jira-feature-collector.jar
-rw-r--r-- 1 root root 59M Jan 19 09:52 collectors/feature/versionone/target/versionone-feature-collector.jar
-rw-r--r-- 1 root root 47M Jan 19 09:52 collectors/library-policy/nexus-iq-collector/target/nexus-iq-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/misc/chat-ops/target/chat-ops-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/performance/appdynamics/target/appdynamics-collector.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/scm/bitbucket/target/bitbucket-scm-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/scm/github-graphql/target/github-graphql-scm-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/scm/github/target/github-scm-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 48M Jan 19 09:52 collectors/scm/gitlab/target/gitlab-scm-collector-2.0.5-SNAPSHOT.jar
-rw-r--r-- 1 root root 55M Jan 19 09:52 collectors/scm/subversion/target/subversion-collector-2.0.5-SNAPSHOT.jar
mvn docker:build
编译成功后,镜像列表如下
[root@vm-10-112-34-22 Hygieia]# docker images |grep hygieia
hygieia-ui latest 8d4686b5d4fd 5 days ago 115MB
hygieia-nexus-iq-collector latest e936fcca4411 5 days ago 587MB
hygieia-hspm-cmdb-collector latest 3e94e55323cd 5 days ago 588MB
hygieia-gitlab-scm-collector latest 9e6899169390 5 days ago 588MB
hygieia-subversion-scm-collector latest f3ca3e3bfb67 5 days ago 595MB
hygieia-github-graphql-scm-collector latest 0013db25be72 5 days ago 588MB
hygieia-github-scm-collector latest 211c187c69ff 5 days ago 588MB
hygieia-bitbucket-scm-collector latest 3f3939acc47a 5 days ago 588MB
hygieia-appdynamics-collector latest bf6135589d10 5 days ago 588MB
hygieia-chat-ops-collector latest 2808bec606a9 5 days ago 588MB
hygieia-gitlab-feature-collector latest 96794698b619 5 days ago 595MB
hygieia-versionone-collector latest 745503f18c6f 5 days ago 599MB
hygieia-jira-feature-collector latest dd5672a84839 5 days ago 605MB
hygieia-xldeploy-collector latest df0745a3dcfe 5 days ago 587MB
hygieia-udeploy-collector latest 3117720ee784 5 days ago 587MB
hygieia-sonar-codequality-collector latest a11ce3024801 5 days ago 587MB
hygieia-jenkins-codequality-collector latest 00eeb52567f9 5 days ago 360MB
hygieia-jenkins-cucumber-test-collector latest 562f864560fc 5 days ago 586MB
hygieia-jenkins-build-collector latest e2c47f89cd70 5 days ago 586MB
hygieia-bamboo-build-collector latest 4c9e385aede3 5 days ago 586MB
hygieia-artifactory-artifact-collector latest f667e6784048 5 days ago 587MB
hygieia-apiaudit latest 51d892ec4f2e 5 days ago 701MB
hygieia-api latest f700865a0f2f 5 days ago 596MB
# Connect to MongoDB
docker exec -t -i mongodb bash
mongo 127.0.0.1/admin
# Switch to db dashbaord
use dashboarddb
# Create dashboard user
db.createUser({user: "dashoarduser", pwd: "dbpassword", roles: [{role: "readWrite", db: "dashboarddb"}]})
java -jar api.jar --spring.config.location=/path/to/api.properties -Djasypt.encryptor.password=hygieiasecret
其他组件参考官方文档
mongodb:
image: mongo:latest
environment:
- MONGODB_USERNAME=dashoarduser
- MONGODB_DATABASE=dashboarddb
- MONGODB_PASSWORD=dbpassword
ports:
- "27017:27017"
hygieia-api:
image: hygieia-api:latest
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
environment:
- jasypt.encryptor.password=hygieiasecret
- SPRING_DATA_MONGODB_DATABASE=dashboarddb
- SPRING_DATA_MONGODB_HOST=mongodb
- SPRING_DATA_MONGODB_PORT=27017
- SPRING_DATA_MONGODB_USERNAME=dashoarduser
- SPRING_DATA_MONGODB_PASSWORD=dbpassword
- FEATURE_DYNAMIC_PIPELINE=enabled
- AUTH_EXPIRATION_TIME=3600000
- AUTH_SECRET=secret
- SKIP_PROPERTIES_BUILDER=false
links:
- mongodb
hygieia-ui:
image: hygieia-ui:latest
container_name: hygieia-ui
ports:
- "8088:80"
links:
- hygieia-api
hygieia-jenkins-build-collector:
image: hygieia-jenkins-build-collector:latest
container_name: hygieia-jenkins-build
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- JENKINS_CRON=0 */15 * * * *
- JENKINS_MASTER=http://admin:[email protected]:9100
- SKIP_PROPERTIES_BUILDER=false
hygieia-jenkins-cucumber-test-collector:
image: hygieia-jenkins-cucumber-test-collector:latest
container_name: hygieia-jenkins-cucumber
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- JENKINS_CRON=0 */15 * * * *
- JENKINS_MASTER=http://10.112.34.22:9100
- JENKINS_CUCUMBER_JSON_FILENAME=cucumber.json
- JENKINS_USERNAME=admin
- JENKINS_API_KEY=admin123
- SKIP_PROPERTIES_BUILDER=false
hygieia-sonar-codequality-collector:
image: hygieia-sonar-codequality-collector:latest
container_name: hygieia-sonar-codequality
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- SONAR_URL=http://10.112.34.22:9000
- SONAR_CRON=0 */5 * * * *
- SKIP_PROPERTIES_BUILDER=false
hygieia-github-scm-collector:
image: hygieia-github-scm-collector:latest
container_name: hygieia-github
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- GITHUB_HOST=github.com
- GITHUB_CRON=0 */15 * * * *
- GITHUB_COMMIT_THRESHOLD_DAYS=60
- GITHUB_ERROR_THRESHOLD=3
- PERSONAL_ACCESS_TOKEN=c65a91f8ca1bb309d9be20761acfda3bf72e85b6
- SKIP_PROPERTIES_BUILDER=false
hygieia-gitlab-scm-collector:
image: hygieia-gitlab-scm-collector:latest
container_name: hygieia-gitlab
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- GITLAB_HOST=10.127.91.51
- GITLAB_PROTOCOL=http
- GITLAB_PORT=6080
- GITLAB_CRON=0 */15 * * * *
- GITLAB_API_TOKEN=xSyYNapktsbW-7Qnywhz
- GITLAB_COMMIT_THRESHOLD_DAYS=20
- SKIP_PROPERTIES_BUILDER=false
hygieia-gitlab-feature-collector:
image: hygieia-gitlab-feature-collector:latest
container_name: hygieia-gitlab-feature
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- GITLAB_HOST=10.127.91.51
- GITLAB_PROTOCOL=http
- GITLAB_PORT=6080
- GITLAB_CRON=0 */15 * * * *
- GITLAB_API_TOKEN=xSyYNapktsbW-7Qnywhz
- GITLAB_COMMIT_THRESHOLD_DAYS=20
- SKIP_PROPERTIES_BUILDER=false
hygieia-jira-feature-collector:
image: hygieia-jira-feature-collector:latest
container_name: hygieia-jira-feature
volumes:
- ./logs:/hygieia/logs
- ./conf:/hygieia/config
links:
- mongodb:mongo
- hygieia-api
environment:
- JIRA_BASE_URL=http://10.112.34.22:8888
- JIRA_CREDENTIALS=aHVhcWlhbmdsaTphZG1pbjEyMw==
- JIRA_DELTA_START_DATE=2018-01-01T00:00:00.000000
- JIRA_MASTER_START_DATE=2018-01-01T00:00:00.000000
- JIRA_DELTA_COLLECTOR_ITEM_START_DATE=2018-01-01T00:00:00.000000
- JIRA_CRON=0 */15 * * * *
- JIRA_BOARD_AS_TEAM=true
- SKIP_PROPERTIES_BUILDER=true
[root@vm-10-112-34-22 Hygieia]# ls -l conf/
total 40
-rw-r--r-- 1 root root 1265 Jan 19 10:05 hygieia-api.properties
-rw-r--r-- 1 root root 1254 Jan 19 16:19 hygieia-artifactory-artifact-collector.properties
-rw-r--r-- 1 root root 808 Jan 19 11:11 hygieia-github-scm-collector.properties
-rw-r--r-- 1 root root 1085 Jan 19 16:36 hygieia-gitlab-feature-collector.properties
-rw-r--r-- 1 root root 1062 Jan 19 11:56 hygieia-gitlab-scm-collector.properties
-rw-r--r-- 1 root root 1256 Jan 19 10:20 hygieia-jenkins-build-collector.properties
-rw-r--r-- 1 root root 1427 Jan 19 10:20 hygieia-jenkins-cucumber-test-collector.properties
-rw-r--r-- 1 root root 5028 Jan 23 16:39 hygieia-jira-feature-collector.properties
-rw-r--r-- 1 root root 773 Jan 19 10:20 hygieia-sonar-codequality-collector.properties
#Database Name - default is test
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=mongodb
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
logRequest=false
logSplunkRequest=false
corsEnabled=false
corsWhitelist=http://domain1.com:port,http://domain2.com:port
feature.dynamicPipeline=enabled
#Authentication Settings
# JWT expiration time in milliseconds
auth.expirationTime=3600000
# Secret Key used to validate the JWT tokens
auth.secret=secret
auth.authenticationProviders=
# LDAP Server Url, including port of your LDAP server
auth.ldapServerUrl=
# If using standard ldap
# LDAP User Dn Pattern, where the username is replaced with '{0}'
auth.ldapUserDnPattern=
# If using ActiveDirectory
# This will be the domain part of your userPrincipalName
auth.adDomain=
# This will be your root dn
auth.adRootDn=
# This is your active directory url
auth.adUrl=
# Needed if you want to query ldap
auth.ldapBindUser=
auth.ldapBindPass=
#Monitor Widget proxy credentials
monitor.proxy.username=
monitor.proxy.password=
#Monitor Widget proxy information
monitor.proxy.type=http
monitor.proxy.host=
monitor.proxy.port=80
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
jenkins.cron=0 */15 * * * *
#The page size
jenkins.pageSize=1000
# The folder depth - default is 10
jenkins.folderDepth=10
#Jenkins server (required) - Can provide multiple
#jenkins.servers[0]=http://jenkins.company.com
#jenkins.niceNames[0]=[YourJenkins]
#jenkins.environments[0]=[DEV,QA,INT,PERF,PROD]
#Another option: If using same username/password Jenkins auth - set username/apiKey to use HTTP Basic Auth (blank=no auth)
#jenkins.usernames[0]=user
#jenkins.apiKeys[0]=12345
jenkins.servers[0]=http://admin:[email protected]:9100
jenkins.usernames[0]=
jenkins.apiKeys[0]=
jenkins.niceNames[0]=
#Determines if build console log is collected - defaults to false
jenkins.saveLog=true
#map the entry localhost so URLS in jenkins resolve properly
# Docker NATs the real host localhost to 10.0.2.2 when running in docker
# as localhost is stored in the JSON payload from jenkins we need
# this hack to fix the addresses
jenkins.dockerLocalHostIP=
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
jenkins-cucumber.cron=0 */15 * * * *
#pattern used for finding cucumber.json files
# note: failed builds will not be picked up, the collector looks for lastSucessfulArtifacts
#Jenkins server (required) - Can provide multiple
jenkins-cucumber.servers[0]=http://10.112.34.22:9100
#If using username/token for api authentication (required for Cloudbees Jenkins Ops Center) see sample
#jenkins-cucumber.servers[1]=http://username:[email protected]
#jenkins-cucumber.servers[1]=
#Another option: If using same username/password Jenkins auth - set username/apiKey to use HTTP Basic Auth (blank=no auth)
jenkins-cucumber.username=admin
jenkins-cucumber.apiKey=admin123
#Determines if build console log is collected - defaults to false
jenkins-cucumber.saveLog=true
#pattern to find cucubmer reports
jenkins-cucumber.cucumberJsonRegex=cucumber.json
#map the entry localhost so URLS in jenkins resolve properly
# Docker NATs the real host localhost to 10.0.2.2 when running in docker
# as localhost is stored in the JSON payload from jenkins we need
# this hack to fix the addresses
jenkins-cucumber.dockerLocalHostIP=
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
sonar.cron=0 */5 * * * *
sonar.servers[0]=http://10.112.34.22:9000
#Sonar Authentication Username - default is blank
sonar.username=
#Sonar Authentication Password - default is blank
sonar.password=
#Sonar Metrics
sonar.metrics[0]=ncloc,line_coverage,violations,critical_violations,major_violations,blocker_violations,sqale_index,test_success_density,test_failures,test_errors,tests
#Sonar Version - see above for semantics between version/metrics
sonar.versions[0]=1
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
github.cron=0 */15 * * * *
github.host=github.com
#Maximum number of days to go back in time when fetching commits
github.commitThresholdDays=60
#Optional: Error threshold count after which collector stops collecting for a collector item. Default is 2.
github.errorThreshold=3
#This is the key generated using the Encryption class in core
github.key=
#personal access token generated from github and used for making authentiated calls
github.personalAccessToken=c65a91f8ca1bb309d9be20761acfda3bf72e85b6
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
gitlab.cron=0 */15 * * * *
#Gitlab host (optional, defaults to "gitlab.com")
gitlab.host=10.127.91.51
#Gitlab protocol (optional, defaults to "http")
gitlab.protocol=http
#Gitlab port (optional, defaults to protocol default port)
gitlab.port=6080
#Gitlab path (optional, defaults to no path)
gitlab.path=
#Gitlab API Token (required, access token can be retrieved through gitlab, collector will have the permissions of the user associated to the token)
gitlab.apiToken=xSyYNapktsbW-7Qnywhz
#Maximum number of days to go back in time when fetching commits
gitlab.commitThresholdDays=20
#Gitlab Instance using self signed certificate
gitlab.selfSignedCertificate=false
#Gitlab API Version (optional, defaults to current version of 4)
gitlab.apiVersion=4
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
feature.cron=0 */15 * * * *
#Page size for data calls (Jira maxes at 1000)
feature.pageSize=1000
#In-built folder housing prepared REST queries (required)
feature.queryFolder=jiraapi-queries
#Jira API Query file names (String template requires the files to have .st extension) (required)
feature.storyQuery=story
feature.epicQuery=epic
feature.projectQuery=projectinfo
feature.memberQuery=memberinfo
feature.sprintQuery=sprintinfo
feature.teamQuery=teaminfo
feature.trendingQuery=trendinginfo
#Jira Connection Details
feature.jiraProxyUrl=
feature.jiraProxyPort=
# Trending Query: Number of days in a sprint (not-required)
feature.sprintDays=60
# Trending Query: Length of sprint week (not-required)
feature.sprintEndPrior=7
#Scheduled Job prior minutes to recover data created during execution time (usually, 2 minutes is enough)
feature.scheduledPriorMin=2
#Delta change date that modulates the collector item task - should be about as far back as possible, in ISO format (required)
feature.deltaCollectorItemStartDate=2018-01-01T00:00:00.000000
#Jira Connection Details
feature.jiraBaseUrl=http://10.112.34.22:8888
feature.jiraQueryEndpoint=rest/api/2/
#64-bit encoded credentials with the pattern username:password
#on a mac you con create them with : echo "username:password" | base64
#reference: https://www.base64decode.org/
feature.jiraCredentials=aHVhcWlhbmdsaTphZG1pbjEyMw==
#OAuth2.0 token credentials (currently not supported in this version)
feature.jiraOauthAuthtoken=sdfghjkl==
feature.jiraOauthRefreshtoken=sdfagheh==
feature.jiraOauthRedirecturi=uri.this.is.test:uri
feature.jiraOauthExpiretime=234567890987
#Start dates from which to begin collector data, if no other data is present - usually, a month back is appropriate (required)
feature.deltaStartDate=2018-01-01T00:00:00.000000
feature.masterStartDate=2018-01-01T00:00:00.000000
# In Jira, general IssueType IDs are associated to various "issue"
# attributes. However, there is one attribute which this collector's
# queries rely on that change between different instantiations of Jira.
# Please provide a String Name reference to your instance's IssueType for
# the lowest level of Issues (e.g., "user story") specific to your Jira
# instance. Note: You can retrieve your instance's IssueType Name
# listings via the following URI: https://[your-jira-domain-name]/rest/api/2/issuetype/
# Multiple comma-separated values can be specified.
feature.jiraIssueTypeNames=Story,Task,Sub-task
# In Jira, your instance will have its own custom field created for "sprint" or "timebox" details,
# which includes a list of information. This field allows you to specify that data field for your
# instance of Jira. Note: You can retrieve your instance's sprint data field name
# via the following URI, and look for a package name com.atlassian.greenhopper.service.sprint.Sprint;
# your custom field name describes the values in this field:
# https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
feature.jiraSprintDataFieldName=customfield_10104
# In Jira, your instance will have its own custom field created for "super story" or "epic" back-end ID,
# which includes a list of information. This field allows you to specify that data field for your instance
# of Jira. Note: You can retrieve your instance's epic ID field name via the following URI where your
# queried user story issue has a super issue (e.g., epic) tied to it; your custom field name describes the
# epic value you expect to see, and is the only field that does this for a given issue:
# https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#feature.jiraEpicIdFieldName=customfield_10400
# In Jira, your instance will have its own custom field created for "story points"
# This field allows you to specify that data field for your instance
# of Jira. Note: You can retrieve your instance's storypoints ID field name via the following URI where your
# queried user story issue has story points set on it; your custom field name describes the
# story points value you expect to see:
# https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
#feature.jiraStoryPointsFieldName=customfield_10002
# In Jira, your instance will have its own custom field created for "team"
# This field allows you to specify that data field for your instance
# of Jira. Note: You can retrieve your instance's team ID field name via the following URI where your
# queried user story issue has team set on it; your custom field name describes the
# team value you expect to see:
# https://[your-jira-domain-name]/rest/api/2/issue/[some-issue-name]
feature.jiraTeamFieldName=
# Set this to true if you use boards as team
feature.jiraBoardAsTeam=false
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
dbhost=172.17.0.4
#Database Port - default is 27017
dbport=27017
#Database Username - default is blank
dbusername=dashoarduser
#Database Password - default is blank
dbpassword=dbpassword
#Collector schedule (required)
gitlab.cron=0 */15 * * * *
#Gitlab host (optional, defaults to "gitlab.com")
gitlab.host=10.127.91.51
#Gitlab protocol (optional, defaults to "http")
gitlab.protocol=http
#Gitlab port (optional, defaults to protocol default port)
gitlab.port=6080
#Gitlab path (optional, defaults to no path)
gitlab.path=
#Gitlab API Token (required, must be an admin account to retrieve all teams for the instance of gitlab. If not admin, will only retrieve teams the user belongs to)
gitlab.apiToken=xSyYNapktsbW-7Qnywhz
#Gitlab selfSignedCertificate (optional, defaults to false, set to true if your instance of gitlab is running on https without a trusted certificate
gitlab.selfSignedCertificate=false
#Gitlab API Version (optional, defaults to current version of 4)
gitlab.apiVersion=4
[root@vm-10-112-34-22 Hygieia]# git diff --cached UI/pom.xml
diff --git a/UI/pom.xml b/UI/pom.xml
index 1c5d2d8..25814f1 100644
--- a/UI/pom.xml
+++ b/UI/pom.xml
@@ -96,7 +96,7 @@
bower
- install
+ install --allow-root
2. jira feature collector 属性文件volume问题
[root@vm-10-112-34-22 Hygieia]# git diff --cached collectors/feature/jira/docker/Dockerfile
diff --git a/collectors/feature/jira/docker/Dockerfile b/collectors/feature/jira/docker/Dockerfile
index dedda35..e9ba6df 100644
--- a/collectors/feature/jira/docker/Dockerfile
+++ b/collectors/feature/jira/docker/Dockerfile
@@ -13,4 +13,4 @@ WORKDIR /hygieia/
VOLUME ["/hygieia/logs"]
CMD ./jira-properties-builder.sh &&\
- java -jar jira-feature-collector*.jar --spring.config.location=config/hygieia-jira-feature-collector.properties
+ java -jar jira-feature-collector*.jar --spring.config.location=/hygieia/config/hygieia-jira-feature-collector.properties
[root@vm-10-112-34-22 Hygieia]# git diff --cached collectors/scm/github-graphql/pom.xml
diff --git a/collectors/scm/github-graphql/pom.xml b/collectors/scm/github-graphql/pom.xml
index 9723659..f7853d3 100644
--- a/collectors/scm/github-graphql/pom.xml
+++ b/collectors/scm/github-graphql/pom.xml
@@ -45,7 +45,7 @@
docker-maven-plugin
false
- hygieia-github-scm-collector
+ hygieia-github-graphql-scm-collector
${project.basedir}/docker
[root@vm-10-112-34-22 Hygieia]# git diff --cached collectors/scm/github-graphql/docker/Dockerfile
diff --git a/collectors/scm/github-graphql/docker/Dockerfile b/collectors/scm/github-graphql/docker/Dockerfile
index 5b12f9f..0139c51 100644
--- a/collectors/scm/github-graphql/docker/Dockerfile
+++ b/collectors/scm/github-graphql/docker/Dockerfile
@@ -14,5 +14,5 @@ WORKDIR /hygieia
VOLUME ["/hygieia/logs"]
CMD ./github-graphql-properties-builder.sh && \
- java -jar github-graphql-scm-collector*.jar --spring.config.location=/hygieia/hygieia-github-graphql-scm-collector.properties
+ java -jar github-graphql-scm-collector*.jar --spring.config.location=/hygieia/config/hygieia-github-graphql-scm-collector.properties
[root@vm-10-112-34-22 Hygieia]# git diff --cached collectors/scm/github-graphql/docker/github-graphql-properties-builder.sh
diff --git a/collectors/scm/github-graphql/docker/github-graphql-properties-builder.sh b/collectors/scm/github-graphql/docker/github-graphql
index 017a121..bbb2e38 100755
--- a/collectors/scm/github-graphql/docker/github-graphql-properties-builder.sh
+++ b/collectors/scm/github-graphql/docker/github-graphql-properties-builder.sh
@@ -13,7 +13,7 @@ then
#for testing locally
PROP_FILE=application.properties
else
- PROP_FILE=hygieia-github-graphql-scm-collector.properties
+ PROP_FILE=config/hygieia-github-graphql-scm-collector.properties
fi
if [ "$MONGO_PORT" != "" ]; then