ci & proserver
TRANSCRIPT
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
–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
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
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
Sources• Gitlab - https://about.gitlab.com
• Ansible - https://www.ansible.com
• TYPO3 Surf - https://github.com/TYPO3/Surf
• proServer - https://proserver.punkt.de