Agile, Adaptable CI/CD in the Financial Industry
Submitted By Jenkins User Francisco De Lucas
With the mission to simplify and innovate credit card processing, Tymit’s development team sought to make their CI/CD more powerful with the help of Jenkins.
Organization: Tymit, www.tymit.com
Team Members: All members work for Tymit: Nicolas Magnone, CTO | Francisco De Lucas, Principal Software Engineer | Cristian Lopez, Software Engineer
Programming Language: Java, Node.js, Python, Swift, Kotlin, Groovy, Terraform, Ansible
Platform: Android,iOS, Docker, Kubernetes, Linux, MacOS
Version Control System: Bitbucket Server
Build Tool: Gradle, Maven, Yam
Community Support: Relied on Jenkins.io websites & blogs and spoke with colleagues and peers
Enabling secure, transparent financial transactions with a powerful CI/CD.
Background: Tymit is a financial software company with the mission to leverage the latest technology for credit card payments and offer a much better experience to the customer: one that is cheaper, more transparent, flexible, and easily available anywhere when needed. Core to its mission is to make it possible for their customers to make payments in installments and provide payment simulations for full transparency.
With the need to be compliant, transparent, and secure — and to continually innovate — Tymit’s developer platform demanded an update. The company had to give developers new tools to make complex pipelines that could adapt the CI for each of the required development cycles in a truly agile way.
Goals: The main goals were to simplify the credit cards for our customers while communicating what must be paid in a way that is transparent and clearly stated. For this, we needed to decrease our build times for each project according to their requirements for each technology. We also wanted to launch distinct agents for specific tests that must be launched in controlled and secured environments.
Solution & Results: We knew we needed the flexibility on how we deploy our resources such as our agents, bare metal servers, public cloud integration, etc. The use of Jenkins helped us to launch certain tests against our services, which were required to be in a VPN network. We can now deploy infrastructure for our CI on-demand, which allows us to scale our CI depending on our workload. This is fantastic as we can now achieve our economic and productivity needs.
We relied on the following capabilities to power up our processes:
- Jenkins Ec2 instances for the agents
- Jenkins bitbucket plugin
- JUnit XML plugin
- Docker plugin for pipelines
With Jenkins, we can adapt our software lifecycle to each of the technologies we use. For example, to deliver iOS apps, we require specific agents which are based on OSX. The process of promoting apps to different environments is quite complex, but with Jenkins, we met all of our requirements with a minimal learning curve.
Jenkins has all of the key ingredients required to be successful: power, flexibility, scalability and community. The results of our efforts?
- faster delivery of our mobile and backend apps
- flexibility for deploying and scaling agents depending on workloads
- faster learning curve in order to create complex pipelines