Skip to content

Repository files navigation

Table of Contentsgenerated with DocToc

Introduction

Docker-based multi-container Software Development Life Cycle environment.

It contains solutions of the following sections:

  • Code Hosting
  • Project Management
  • Continuous Integration
  • Continuous Inspection
  • Repository Management

Code Hosting

GitLab

GitLab offers git repository management, code reviews, issue tracking, activity feeds, wikis.

Usable Containers

IDContainerApp VersionSize
gitlabdocker-gitlabv7.3.1-3729.5MB
postgresqldocekr-postgresqllatest488.6MB
redisredis)v2.8.998.7MB

Topology

ServiceDatabaseRedis
gitlabpostgresqlredis
⤷ postgresql
⤷ redis

QuickStart

To launch GitLab

cd gitlab
docker-compose up -d
echo "GitLab can be accessed at: $(docker port gitlab_gitlab_1 80)"
docker-compose logs

Login using the default username and password:

  • username: root
  • password: 5iveL!fe

GitLab

To stop GitLab

docker-compose stop

To remove GitLab

WARNING: You'll loose your data after this command

docker-compose kill
docker-compose rm

To launch more than one GitLab instances on the same host

docker-compose -p gitlab1 up -d
docker-compose -p gitlab2 up -d
echo "GitLab 1 can be accessed at: $(docker port gitlab1_gitlab_1 80)"
echo "GitLab 2 can be accessed at: $(docker port gitlab2_gitlab_1 80)"

NOTE: These instances do not share anything, new redis & postgresql instances are launched for each one separately.

GitBucket

GitBucket The easily installable Github clone powered by Scala

Usable Containers

IDContainerApp VersionSize
gitbucketdocker-gitbucketv2.2.1376.2MB

QuickStart

To launch GitBucket

cd gitbucket
docker-compose up -d
echo "GitBucket can be accessed at: $(docker port gitbucket_gitbucket_1 8080)"
docker-compose logs

Login using the default username and password:

  • username: root
  • password: root

GitBucket

Project Management

Redmine

Redmine is a flexible project management web application

Usable Containers

IDContainerApp VersionSize
redminedocker-redminev2.5.2-2997.9MB
postgresqldocker-postgresqllatest488.6MB
redmineHarburDocker Repository on Quay.iov2.5.2-2998.1MB

Topology

ServiceDatabase
redminepostgresql
⤷ postgresql
redmineHarbur
⤷ postgresql

QuickStart

To launch Redmine

cd redmine
docker-compose up -d redmine
echo "Redmine can be accessed at: $(docker port redmine_redmine_1 80)"
docker-compose logs

Login using the default username and password:

  • username: admin
  • password: admin

Redmine

QuickStart Harbur

Extra Features

  • Preconfigured Gitmike Theme
  • Preconfigured SMTP
  • Dynamically configured FQDN (Injected with FQDN variable)

To launch the Harbur Redmine version run:

cd redmine
docker login quay.io # You need a Harbur TOKEN to access the containers
FQDN=redmine.myfullyqualified.domain.name docker-compose up -d redmineHarbur
echo "Redmine can be accessed at: $(docker port redmine_redmineHarbur_1 80)"
docker-compose logs

Login using the default username and password:

  • username: admin
  • password: admin

RedmineHarbur

Continuous Integration

Jenkins

Jenkins An extendable open source continuous integration server

Usable Containers

IDContainerApp VersionSize
jenkinsLatestdocker-jenkins)latest v1.581471.3MB
jenkinsLTSjenkinsLTS v1.565.2699MB
jenkinsHarburDocker Repository on Quay.iolatest v1.581548MB
jenkinsSlavedind-jenkins-slave-891.5MB

Topology

ServiceWorkers
jenkinsLatestjenkinsSlave
jenkinsLTS
jenkinsHarbur
⤷ jenkinsSlave

QuickStart Latest

To launch the latest Jenkins version run:

cd jenkins
docker-compose up -d jenkinsLatest
echo "Jenkins can be accessed at: $(docker port jenkins_jenkinsLatest_1 8080)"

Jenkins is by default unsecured. Make sure to go to Manage Jenkins - Setup Security to configure your security.

Jenkins Latest

QuickStart LTS

To launch the LTS Jenkins version run:

cd jenkins
docker-compose up -d jenkinsLTS
echo "Jenkins can be accessed at: $(docker port jenkins_jenkinsLTS_1 8080)"

Jenkins is by default unsecured. Make sure to go to Manage Jenkins - Setup Security to configure your security.

Jenkins LTS

Current LTS Issues:

QuickStart Harbur

Extra Features

  • Pre-installed well-known plugins
  • Pre-installed theme jenkins-attlassian-theme
  • Dynamically configured FQDN (Injected with FQDN variable)
  • Multi-container setup with docker-aware build workers capable to auto-register themselves

To launch the Harbur Jenkins version run

cd jenkins
docker login quay.io # You need a Harbur TOKEN to access the containers
FQDN=ci.myfullyqualified.domain.name docker-compose up -d jenkinsHarbur jenkinsSlave
echo "Jenkins can be accessed at: $(docker port jenkins_jenkinsHarbur_1 8080)"

Jenkins is by default unsecured. Make sure to go to Manage Jenkins - Setup Security to configure your security.

Jenkins Harbur

This is a multi-container setup with one Jenkins docker-aware slave connected dynamically to Jenkins master. The Jenkins slave is running in privileged mode and can run docker commands attached to the host's docker remote API.

In case more slave instances are needed you can scale dynamically with the following command:

docker-compose -f jenkins.yml scale jenkinsSlave=2

Continuous Inspection

SonarQube

SonarQube is an open platform to manage code quality

Usable Containers

IDContainerApp VersionSize
sonarqubedocker-sonarqubev4.4841.6MB
postgresqldocker-postgresqllatest488.6MB

Topology

ServiceDatabase
sonarqubepostgresql
⤷ postgresql

QuickStart

To launch SonarQube run

cd sonarqube
docker-compose up
echo "SonarQube can be accessed at: $(docker port sonarqube_sonarqube_1 9000)"
docker-compose logs

Login using the default username and password:

  • username: admin
  • password: admin

SonarQube

More info

For more information checkout our website: https://harbur.io

About

Docker-based multi-container Software Development Life Cycle environment

Resources

Stars

35 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors