+ All Categories
Home > Technology > Ci & proServer

Ci & proServer

Date post: 22-Jan-2018
Category:
Upload: sebastian-helzle
View: 109 times
Download: 0 times
Share this document with a friend
19
Our proServer continuous integration Sebastian Helzle T3CON16 Munich, October 26th 2016
Transcript

Our proServer ❤ continuous integration

Sebastian HelzleT3CON16 Munich, October 26th 2016

What you will hear about

• Short introduction into continuous integration/delivery & why you want that

• A lean stack for easy CI/CD (Gitlab, Surf, Ansible)

• How the proServer can help you• How we @punkt.de can help you do all this

Short introduction into CI/CD & why you want that

–Wikipedia

Continuous IntegrationIn software engineering, continuous

integration (CI) is the practice of merging all developer working

copies to a shared mainline several times a day.

–Wikipedia

Continuous DeliveryIt aims at building, testing,

and releasing software faster and more frequently.

It all starts with change• A developer fixes a bug

• They commit the change to GIT

• They push to a repository

• And now what?

Old way• Team decides to make a release after a few weeks

• Projects latest version (maybe tested) is transferred manually in some way to production

• Meanwhile website shows errors

• Caches for TYPO3, Redis, PHP, XYZ are flushed, apache restarted, solr connections reset, temp folder deleted, database migrations executed, etc…

• Something is fixed manually because of a configuration problem

• An hour later the team hopes the website is now working correctly

–A concerned product owner

So what did we actually release?

We want to understand what’s going on

We want to automate and minimize human error

• Put our manual checks into code

• Put our manual tasks into code

• Make everything reproducible

• Make sure the intern can do releases

• Have documented releases

New way• Developer commits

• CI Server does it’s checks

• Verified commits are reviewed and merged or auto merged

• Auto-Deployment to staging

• Developer tags verified commit

• Auto-Deployment to production

A simple CI/CD stack

• Gitlab• TYPO3 Surf• Ansible

Gitlab• CI Server

• Git Server

• Free or Self-Hosted

• Optional:

• Ticketsystem

• Wiki

• Static site hosting

• Projektmanagement

TYPO3 Surf• Verified deployments

• Smoke tests

• Automated tasks

• Cache clearing etc…

• Allows rollbacks

• Keeps old releases

Ansible• Infrastructure as code

• Easy to learn

• Almost no requirements on servers

• Minimizes manual work on servers

Our proServer is a great base for CI/CD

• Works nicely with Ansible• You can use it like a root server• We manage security relevant stuff• We optimized it for TYPO3 and

Neos projects• Cost effective!

How we @punkt.de can help you

• We offer workshops to help you setup or plan your CI/CD

• We make the proServer better with your feedback

• We will provide working setup scripts for the proposed easy stack on Github

Questions? Contact Sebastian Helzle@[email protected]

Sources• Gitlab - https://about.gitlab.com

• Ansible - https://www.ansible.com

• TYPO3 Surf - https://github.com/TYPO3/Surf

• proServer - https://proserver.punkt.de


Recommended