Git Product home page Git Product logo

docker-sdlc's Introduction

Table of Contents generated 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

ID Container App Version Size
gitlab Badge v7.3.1-3 729.5MB
postgresql Badge latest 488.6MB
redis Badge v2.8.9 98.7MB

Topology

Service Database Redis
gitlab postgresql redis
⤷ postgresql
⤷ redis

QuickStart

To launch GitLab

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

Login using the default username and password:

  • username: root
  • password: 5iveL!fe

GitLab

To stop GitLab

fig stop

To remove GitLab

WARNING: You'll loose your data after this command

fig kill
fig rm

To launch more than one GitLab instances on the same host

fig -p gitlab1 up -d
fig -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

ID Container App Version Size
gitbucket Badge v2.2.1 376.2MB

QuickStart

To launch GitBucket

cd gitbucket
fig up -d
echo "GitBucket can be accessed at: $(docker port gitbucket_gitbucket_1 8080)"
fig 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

ID Container App Version Size
redmine Badge v2.5.2-2 997.9MB
postgresql Badge latest 488.6MB
redmineHarbur Docker Repository on Quay.io v2.5.2-2 998.1MB

Topology

Service Database
redmine postgresql
⤷ postgresql
redmineHarbur
⤷ postgresql

QuickStart

To launch Redmine

cd redmine
fig up -d redmine
echo "Redmine can be accessed at: $(docker port redmine_redmine_1 80)"
fig 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 fig up -d redmineHarbur
echo "Redmine can be accessed at: $(docker port redmine_redmineHarbur_1 80)"
fig 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

ID Container App Version Size
jenkinsLatest Badge latest v1.581 471.3MB
jenkinsLTS Badge LTS v1.565.2 699MB
jenkinsHarbur Docker Repository on Quay.io latest v1.581 548MB
jenkinsSlave Badge - 891.5MB

Topology

Service Workers
jenkinsLatest jenkinsSlave
jenkinsLTS
jenkinsHarbur
⤷ jenkinsSlave

QuickStart Latest

To launch the latest Jenkins version run:

cd jenkins
fig 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
fig 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 fig 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:

fig -f jenkins.yml scale jenkinsSlave=2

Continuous Inspection

SonarQube

SonarQube is an open platform to manage code quality

Usable Containers

ID Container App Version Size
sonarqube Badge v4.4 841.6MB
postgresql Badge latest 488.6MB

Topology

Service Database
sonarqube postgresql
⤷ postgresql

QuickStart

To launch SonarQube run

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

Login using the default username and password:

  • username: admin
  • password: admin

SonarQube

More info

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

docker-sdlc's People

Contributors

dkapanidis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.