OpenDevOps icon indicating copy to clipboard operation
OpenDevOps copied to clipboard

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

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