Skip to content

该项目仅供于学习体验 DevOps 之用,若涉及到商业版权部分,请自行联系软件商。

Notifications You must be signed in to change notification settings

QualitySphere/OpenDevOps

Repository files navigation

OpenDevOps

This is ONLY for DevOps learning and practice. Please contact the software vendor to get the product license if you are a company.

Table of Contents

  • Framework
  • Quick Start
    • Resource
    • Deployment
    • Configuration
      • OpenLDAP
      • Self Service Password
      • Jira Software
      • Confluence
      • GitLab
      • SonarQube
      • Jenkins
      • Harbor
      • Rancher
      • JumpServer
    • Manual
  • Tool Chain
  • odoctl
  • ODO Dockerfiles

Framework

Open DevOps Services ODO Framework

Quick Start

Resource

Type CPU Memory
Minimum 4 core 8 G
Recommended 8 core 16 G
Optimum 16 core 32 G

Deployment

  1. Clone project
    git clone https://github.com/QualitySphere/OpenDevOps.git
  2. Change dir to ODO home
    cd OpenDevOps
  3. Enable and update odo-portal environment part in docker-compose.yaml
    Change localhost to your server IP or domain
    ODO Portal YAML
  4. Start ODO services
    ./odoctl start all
  5. Access ODO-Portal http://ODO-HOST
    ODO Portal

Configuration

  • OpenLDAP
    • Auto-init
  • Self Service Password
    • Access Self Service Password http://ODO-HOST:18080
    • Try to update default account odo's password to validate SSP
    • Try to update odo's password via E-mail.
      if you find there is no hostname in the reset password link, you can update $reset_url in odo-ldap/ssp/config.inc.php
  • Jira Software
    • Auto-init
  • Confluence
    • Auto-init
  • GitLab
    • Auto-init
  • SonarQube
    • Auto-init
  • Jenkins
    • Access Jenkins http://ODO-HOST:15080 to unlock it
    • You can get initialAdminPassword via otoctl tool ./odoctl license jenkins in ODO-HOST
    • Add/Remove the plugins to config Jenkins
      • check GitLab Publish Over SSH SSH
      • uncheck Ant Gradle
    • Waiting for installation complete
    • Use default admin account to continue
    • Try to config LDAP later
  • Harbor
    • To Be Written
  • Rancher
    • To Be Written
  • JumpServer
    • To Be Written

Manual

Tool Chain

Service Port Container Port Volume Container Volume
OpenLDAP 18389 389 odo-ldap/db
odo-ldap/config
/var/lig/ldap
/etc/ldap
PHPLdapAdmin 18880 80 - -
Self Service Password 18080 80 odo-ldap/ssp/config.inc.php /var/www/html/conf/config.inc.php
PostgresQL 18432 5432 odo-pg /var/lib/postgresql/data
Jira 8080 8080 odo-jira /var/atlassian/application-data/jira
Confluence 8090
8091
8090
8091
odo-conf /var/atlassian/application-data/confluence
GitLab 12080
12443
222
80
443
222
odo-gitlab/data
odo-gitlab/config
/var/opt/gitlab
/etc/gitlab
Jenkins 15080
50000
8080
50000
odo-jenkins/jenkins_home
/var/run/docker.sock
/var/jenkins_home
/var/run/docker.sock
SonarQube 9000 9000 odo-sonar/data
odo-sonar/logs
odo-sonar/extensions
odo-sonar/sonar.properties
/opt/sonarqube/data
/opt/sonarqube/logs
/opt/sonarqube/extensions
/opt/sonarqube/conf/sonar.properties
Harbor 16080 80 odo-harbor
Rancher 17443 443 odo-rancher /var/lib/rancher
JumpServer 17080
2222
80
2222
odo-jms/data
odo-jms/mysql
/opt/jumpserver/data
/var/lib/mysql
Portal 80
443
80
443

odoctl

  • commands
./odoctl <COMMAND>:
    start           - Up container(s) to start service(s) and init them
    start_no_init   - Up container(s) to start service(s)
    stop            - Stop container(s) to stop service(s)
    down            - Down all services
    restart         - Restart container(s) to restart service(s)
    list            - List container(s)
    license         - Generate JIRA/Confluence/Plugin license
    cleanup         - Cleanup all containers and dirs
  • services
./odoctl start/stop/restart <SERVICE>:
    all       - All Services
    ldap      - OpenLDAP, PhpLDAPAdmin and Self Service Password
    pg        - PostgresQL
    jira      - Jira Software
    conf      - Confluence
    sonar     - SonarQube Community Edition
    jenkins   - Jenkins
    gitlab    - GitLab Community Edition
    rancher   - Rancher
    jms       - JumpServer
    portal    - DevOps Portal
  • list containers
./odoctl list
  • generate license for JIRA/Confluence
./odoctl license <PRODUCT>:
    jira          - Generate JIRA software license
    jira_plugin   - Generate JIRA plugin license
    conf          - Generate Confluence server license
    conf_plugin   - Generate Confluence plugin license
    jenkins       - Get Jenkins initialAdminPassword

./odoctl license jira_plugin/conf/conf_plugin <PRODUCT_ID>:
    PRODUCT_ID is REQUIRED
      +-------------+------------+------------------------------------+
      | PRODUCT     | PRODUCT_ID | WHERE                              |
      +-------------+------------+------------------------------------+
      | jira_plugin | plugin ID  | JIRA application detail page       |
      +-------------+------------+------------------------------------+
      | conf        | server ID  | Confluence installation page       |
      +-------------+------------+------------------------------------+
      | conf_plugin | plugin ID  | Confluence application detail page |
      +-------------+------------+------------------------------------+
  • cleanup ODO services and dirs
./odoctl cleanup

ODO Dockerfiles