Skip to content

cmcornejocrespo/workshop-jbcn-2017

Repository files navigation

workshop-jbcn-2017

Code base to support the workshop

Motivation

Developers nowadays are very comfortable with software life cycle management and ceremonies around agile methodologies but the reality is that every time we need to setup a CI environment from scratch there is always struggling and suffering involved. Also the resulting environment contains a lot of moving parts that requires to have a solid mechanism to trace logs and metrics and liaising with sysadmins is out of the equation.

What is this for?

We propose a solution that aims at minimising the time-to-market by providing an ecosystem that is able to help developers and QA's to deliver fast and quality code focusing on coding itself and not in the infrastructure or the setting up of the environment required.

What´s under the hood?

  • Gitlab
    • Accesible via port 10000
  • Jenkins
    • Accesible via port 11000
  • Nexus
    • Accesible via port 12000
    • Login as admin//admin123
  • Sonarqube
    • Accesible via port 13000
  • Docker Registry
    • Accesible via port 14000
    • Login as admin//admin
  • Openshift
    • Accessible via port 8443, using HTTPS
  • Graylog
    • Accesible via port 9000
    • Login as admin//admin

System Requirements

  • Docker 17.04.0-ce+ install here
  • Docker Compose 1.12.0+ install here

For Windows Users

In order to speed up the setup of the workshop, attendants are recommended to download before hand the docker images to be used within the workshop

$ docker pull gitlab/gitlab-ce
$ docker pull jenkinsci/jenkins:lts
$ docker pull sonatype/nexus3
$ docker pull sonarqube
$ docker pull registry
$ docker pull selenium/standalone-chrome
$ docker pull openshift/origin:v1.5.1

or

$ ./pull-all-docker-images-before-the-workshop

Stack lifecycle

Run

Simply

$ docker-compose up -d

or

$ ./start

Stop

$ docker-compose up -d

or

$ ./stop

Volume Housekeeping

$ docker volume rm workshopjbcn2017_gitlab-data
$ docker volume rm workshopjbcn2017_gitlab-data-config
$ docker volume rm workshopjbcn2017_gitlab-data-logs
$ docker volume rm workshopjbcn2017_jenkins-data
$ docker volume rm workshopjbcn2017_sonarqube-data
$ docker volume rm workshopjbcn2017_nexus-data
$ docker volume rm workshopjbcn2017_registry-data

or

$ ./volume-housekeeping

Logs

$ docker-compose logs -f

or

$ ./logs

Stack lifecycle Vagrant

Change project folder path

 config.vm.synced_folder "<CHANGE_YOUR_PROJETC_PATH_HERE>", "/workshop-jbcn-2017"

Run

 $ vagrant up --provision
 $ vagrant ssh
 $ cd /workshop-jbcnconf-2017
 $ sudo ./start

Importing Code for the workshop

Replace PERSONAL_TOKEN_HERE with the one provided during the workshop

$ TOKEN=<PERSONAL_TOKEN_HERE> ./gitlab/import-github-repos.sh

External repository code

External webinar video

This workshop uses the code from an existing webinar that can be found here. This video is in spanish

License

The content of this project itself is licensed under the Attribution-NonCommercial-ShareAlike CC BY-NC-SA license alt