Olemme sitoutuneet avoimeen lähdekoodiin ja tutkimukseen
Me Eficodella haluamme olla mukana rakentamassa ohjelmiston tulevaisuutta. Siksi olemme mukana niin Eurooppalaisessa testiautomaatio- ja palvelimettomien teknologioiden (RADON) tutkimusprojekteissa. Osallistumme myös monenlaisiin avoimen lähdekoodin hankkeisiin ja ylläpidämme useita projekteja. Paneutumalla uusimpaan teknologiaan ja jakamalla tietoa voimme rakentaa ohjelmistoalan tulevaisuutta yhdessä.
Euroopan unionin TESTOMAT-tutkimushanke
Testiautomaation uusi sukupolvi
TESTOMAT-projektin tavoitteena on auttaa ohjelmistotiimejä nopeuttamaan kehitystyötä laadusta tinkimättä. Hankkeen tärkeimpänä lopputuotteena syntyi testiautomaation parannusmalli (Test Automation Improvement Model, TAIM), joka määrittää testiautomaation keskeisimmät kehityskohteet ja mitattavia kehitysaskeleita.
EU-tutkimushankkeen kautta haluamme edistää testiautomaation tutkimusta monella saralla: kehittää kohdennettuja testausteknologioita, automaattista raportointia koko jatkuvan toimituksen ketjulle ja reaaliaikaisesti toimivan kojelaudan laadunhallintaa varten 33 muun eurooppalaisen kumppanin kanssa.
Lue lisääEuroopan unionin RADON-tutkimushanke
Palvelimettomien FaaS-ratkaisujen edut Euroopan ohjelmistoalan käyttöön
RADON-projekti pyrkii kehittämään DevOps-kehyksen, jolla voidaan luoda ja hallinnoida palvelimettomia teknologioita optimaalisesti hyödyntäviä mikropalvelupohjaisia sovelluksia. RADON-sovelluksiin sisällytetään hienojakoisia ja itsenäisesti käyttöönotettavia mikropalveluita, jotka käyttävät tehokkaasti FaaS- ja konttiteknologioita. Tavoitteena on laajentaa palvelimettomien teknologioiden käyttöönottoa Euroopan ohjelmistoalalla.
Tämän akateemisen hankkeen puitteissa Eficode haluaa tarjota kaupallisen näkökulman yliopistoille ja jakaa tietoa omien palvelujensa käyttötapauksista. Haluamme olla kärkijoukossa edistämässä uusia käyttöönotto- ja sovellutustapoja, tarjoamassa tukea sopiville CI/CD-työkaluille (esim. Jenkins) ja rakentamassa soveltuvia jatkuvan testauksen ja toimituksen kokonaisuuksia.
Jenkins Configuration as Code
Hallinnoi Jenkins-instanssia koodina tällä helppokäyttöisellä lisäosalla
Kehitimme Jenkins Configuration as Code (JCasC) -lisäosan, luopua Jenkinsin globaalin konfiguraation manuaalisesta muokkaamisesta ensimmäisen käyttöönoton jälkeen. JCasC konfiguroi Jenkinsin automaattisesti heti konfigurointitiedoston luomisen jälkeen. Ratkaisun avulla voit palauttaa Jenkinsin asetukset sekunneissa. JCasC:in avulla voit joko käyttää samaa tiedostoa uudelleen useamman instanssin konfigurointiin tai muutosten testaamisessa paikallisessa instanssissa ennen käyttöönottoa tuotantoympäristössä.
JCasC on viimeinen puuttuva palanen voidaksesi hallita kaikkea konfigurointia koodilla. Projekti on tulosta Eficoden (aiemmin Praqma) ja Cloudbeesin sekä kasvavan ulkopuolisten asiantuntijoiden joukon yhteistyöstä. Olet lämpimästi tervetullut mukaan yhteistyöhön tuottamaan uusia toiminnallisuuksia tai ratkomaan toimintojen ongelmia tai bugeja. Tavoitteenamme ei ole pelkästään omien ongelmiemme ratkaiseminen – haluamme myös auttaa sinua ratkaisemaan omasi!
Helmsman
Automatisoi Helm-kaaviot Kubernetes-klustereille
Helm pakkaa Kubernetes-sovellukset uudelleenkäytettäviksi, muokattaviksi ja jaettaviksi paketeiksi, joita kutsutaan “kaavioiksi” (“charts”). Loppukäyttäjä joutuu kuitenkin kirjoittamaan paljon skriptejä ja konfiguraatiota näiden kaavioiden elinkaaren hallitsemiseksi.
Koska automaatio on aina yksi Eficoden keskeisiä tavoitteita, päätimme kehittää Helmsman-projektin. Se lisää Helmin ympärille abstraktiotason, jonka avulla on helppo määrittää Helm-kaavioiden tilat Kubernetes-klusterin sisällä ja automatisoida näin elinkaaren hallinta. Helmsmanin navigointia ohjataan deklaratiivisella Desired State File (DSF) -tiedostolla, jota ylläpidetään versionhallintajärjestelmässä. Helmsman siis lukee ohjeesi DSF-tiedostosta ja vertaa niitä valitun klusterin toimintaan. Sen jälkeen se määrittää tarvittavat muutokset tallentamatta/säilyttämättä tarpeettomia tilatietoja.
GitHubLue blogiMuita yhteistyöhankkeitamme
2git
A Groovy DSL to migrate to Git
2git is a Groovy DSL designed to script your VCS migration. It continuously runs and tweaks your migration script to give you complete confidence in your migration. 2git currently supports migrating from Clearcase and Clearcase UCM to git and Artifactory. 2git was designed to iterate on complex migrations. We wanted to keep scripting freedom while mitigating the pains of dealing with the source VCS.
Robot Framework plugin for Jenkins
Collect and publish Robot Framework test results in Jenkins
A plugin to collect and publish Robot Framework test results in Jenkins with the following features:
- Test suite and case details with trend graphs
- Environment variable expansion for build paths in configuration
- Wildcard support for output files for parsing and archiving of multiple Robot result files
- Collection and archiving of original Robot report HTML files
- Summary of Robot run on build page
- Summary of latest Robot run on project page
- Trend graph of passed tests over builds on project page
- Marking build failed/unstable/successful according to pass thresholds given by the user
- Option to evaluate only critical tests against the pass thresholds
- Listview column to show overall passed/failed tests in project listing and duration trend
- Configurable archiving of arbitrary Robot related artifacts per build
- Token macros for usage with e.g. email-ext plugin
- Test visibility in radiator views
Eficode contributed to the creation of the plugin and is currently maintaining the plugin.
Pre-tested Integration Plugin
A Jenkins plugin to prevent your master from breaking
This Jenkins plugin is designed to keep your master branch from breaking under Continuous Integration by introducing an automated quality tollgate. It allows you to automatically rebase, build, test and run all kinds of checks on your changes before ultimately delivering them to master.
As a Git SCM decorator, the Pre-tested Integration Plugin listens for new branches matching a configured pattern (ex.: ready/*). When triggered, it merges the target branch into master locally and lets your job run its configured steps. Should they all pass, the plugin considers the merge result good enough and pushes it to the remote master. All that’s left is to make sure only Jenkins has write access to master, and voilà, you are now the proud owner of an unbreakable mainline.
Praqmatic Automated Changelog (PAC)
An automated way of creating accurate changelogs
This tool allows us to avoid a lot of manual work and uncertainty around new features and new releases. PAC builds up changelogs/release notes by querying your Git repository and possibly your Application Lifecycle Management (ALM) system(s) for extra metadata.
You can use PAC to create a changelog suited for both developers and release managers. Using templates you can customize the look and feel and generate entire web pages or pdf documents using a simple configuration file.
ImageHorizonLibrary
A cross-platform Robot Framework library for GUI automation based on image recognition
Dealing with the automation of desktop client software with graphical user interfaces (GUI) is not always so rosy, especially implemented with older tech. Taking inspiration from predecessors our open source release is an effort to provide ever-increasing automation utilizing image recognition.
Eficode created and maintains the library.
Oxygen for Robot Framework
A new way to consolidate test reporting
Oxygen is a Robot Framework tool that empowers the user to convert the results of any testing tool or framework to Robot Framework's reporting to consolidate all test reporting together regardless of tools used.
Eficode created and maintains the tool.
HttpRequestLibrary for Robot Framework
Test REST interfaces with Java
This is a library to test REST interfaces in a simple way when running Robot Framework with Maven/Gradle. The goal is to simplify dependency management and enable tests to run only with Java.
InfluxDB plugin for Jenkins
Collect data from multiple Jenkins plugins into a single time-series database
A plugin to send data from various different Jenkins plugins into InfluxDB. It currently supports data from changelog, JUnit, and SonarQube without a separate plugin and it supports Cobertura, JaCoCo, Performance, Performance publisher, Robot Framework, and Serenity plugins. You can also write your own custom data and tags inside the pipeline jobs.
Eficode created the plugin and is currently maintaining it.
Medusa
Making import and export possible with HashiCorp Vault
Medusa is an open-source cli tool that can import data from either json or yaml into Vault, and it can export data from any point in Vault to the same formats. This makes it easy to create developer environments, create backups, clone data, move data from different Vault instances with a single cli.
Robot Framework Maven plugin
Include Robot Framework tests to Maven lifecycle
The Robot Framework Maven plugin allows Robot Framework tests within a Maven lifecycle. That way developers or CI systems don't need to have anything special installed to be able to run the tests at the necessary phase.
Jrobotremoteserver
A server offering Java-based Robot Framework libraries remotely via Remote library (XML-RPC)
When running Robot Framework tests with Python, it might still be necessary to use Java-based libraries. Jroboremoteserver publishes Java-libraries to be used over XML-RPC from Python running Robot Framework.
Jrobotremoteserver is an implementation for Java libraries, but there are other remote servers for other languages available, too. See here
JavalibCore for Robot Framework
Create Java-based Robot Framework libraries in a simpler way
JavalibCore helps to build Java-based Robot Framework libraries in a simple way and provides e.g. annotations to make the actual library code cleaner.
SeleniumLibrary for Robot Framework with Java
Browser testing with Robot Framework
This library provides Selenium for Robot Framework in the Java-way. It can be included in the application testing lifecycle within Maven (or other Java project management tools).
DBLibrary for Robot Framework with Java
Test databases connectable with JDBC drivers
Some databases (like Oracle) are a bit hard to be connected with other languages than Java. This library can be used along with Jrobotremoteserver for these kinds of databases, or for databases in tests running with Java.
DevOpsin edelläkävijät
Eficode auttaa niin suurien kuin pienienkin yritysten tiimejä kehittämään ohjelmistoja entistäkin paremmin. Me teimme DevOpsia jo ennen kuin käsitteestä oli tietoakaan. Runsaan 15 vuoden aikana olemme nähneet DevOpsin mahdollistamia muutoksia monilla aloilla.
Uskomme, että ohjelmistokehityksen tulevaisuus on uskomattoman tehokas. Automaatio, liiketoiminnan jatkuva parantaminen ja tiimien välinen yhteistyö ovat missiomme keskiössä.
Edistämme DevOps-liikettä kouluttamalla seuraavia sukupolvia ja jakamalla kokemuksiamme DevOps-yhteisön kanssa.
Lue lisääHeräsikö kysymyksiä?
Autamme mielellämme.
Pysy ajan tasalla - tilaa uutiskirjeemme!
Saat opettavaista sisältöä ja viimeisimmät uutiset Eficodelta suoraan meiliboksiisi.