2. About me
15 years in commercial Linux
support
10 years Enterprise Applications
and SDK’s support at Genesys
9 years as a CTO in own
company SHALB.com
3. Team Objectives
● Keep infrastructures reliable for different
customers
● Live on cloud providers or on-premise, classic and
containerized systems
● Use different CI platforms: Github, Bitbucket,
Gitlab, Jenkins
● Work with multiple engineering teams
6. Team Sharing. Using wiki and documentation.
You have a documentation for all!
You need to decompose whole documented
------- pattern to produce the code
Spend more time on documenting
7. Team Sharing. Using markers for code patterns.
You can get usable code blocks and modules
“Secret knowledge”
Only basic parts could be easily transmitted
Hard to keep actual state
8. Team Sharing. Single point of integration
Single repo for all useful stuff
Product-facing design possible to OSS
Ready to go platform for new projects!
Needs to be extra maintained and supported
Sometimes disintegration required
10. DJEG
Continuous Integration, Testing and Deployment Pipelines,
Centralized Account Management,
Monitoring and Log Aggregation
Complete CI/CD Development Platform
11. PROBLEM
A long time (3-6 month) and special skills and knowledges are required
to deliver complete CI/CD system for software product development.
Beside the basic CI/CD functions - to deliver source code to operational
environments you need to implement:
artefact storage, centralized account and security management,
build/test/deploy logs aggregation, monitoring, alerting, etc…
12. Easy to install pre-configured
CI/CD system created following
best DevOps and SRE practices
SOLUTION
13. ldap - a simple Openldap server
that is prepopluated on startup
using custom.ldif
ldap-admin –
a simple ldap php
admin for managing
ldap Php ldap
admin
Product name: DJEG
Abbreviation for Docker Jenkins
Elasticsearch Grafana.
Integrated system for the full cycle product development, from the
source code to operational environments. With preconfigured
Continuous Integration, Testing and Delivery, Log Aggregation,
Monitoring, Alerting and centralized account management.
Requires only 15 minutes to deploy instead of 3-6 month of integration.
jenkins - My Bloody jenkins
that watches changes from
custom configs set
nexus - Sonatype Nexus Repository
Manager 3, from Nexus
registry - nexus hosted docker repo:
Nexus registry
nginx_env_proxy - nginx proxy
service with LE SSL automation
static jenkins slave with the possibility
of customization. Dockerfile
14. + Deploy a CI/CD systems (Jenkins, Spinnaker, Nexus) from scratch using scripts.
+ Complete development infrastructure installation with IaaC (Infrastructure as
a Code) approach.
+ Centralized user management for all integrated systems using OpenLDAP.
+ "ELK"-stack deployment for services and CI/CD jobs logging.
+ Alerting with Elasalert to notify developers on logs events on any environment.
+ Notification to Slack, Email or any other channels.
+ Deploy metrics and monitoring with Prometheus and
Grafana with service autoconfiguration.
+ Templated infrastructure patterns with Terraform.
+ Deployment to any platform like AWS, Google Cloud, Kubernetes,
Azure, Openstack.
PLANNED
FEATURES
15. Require only 15 min for installation and basic
configuration. .
FREE
Based only on opensource software.
Preconfigured: Continuous Integration,
Testing and Delivery, Log Aggregation,
Monitoring, Alerting, Centralized
account management.
ADVANTAGES
18. Single Point for Users and Permissions
Integrates with:
Jenkins,
Kubernetes,
Nexus,
Artifactory,
Grafana,
etc.. restofworld
19. Open source CI/CD platform from code
My Bloody Jenkins
Re-distribution of the Official LTS Jenkins Docker image
bundled with plugins and ability to configure Jenkins
from a simple and single source of truth represented as
YAML.
The image supports "Watching"
configuration changes and applying
without restarting Jenkins