Category Archives: CI/CD

Continuous integration in software engineering is the practice of merging all developer working copies to a shared mainline several times a day.

Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency.

Jenkins: SAML Authentication with Okta SSO and users groups

11 October 2019
 

 SAML – Secure Assertion Markup Language is used for federated authentication when some service which we need to get access to (a Service Provider), asks another service (an Identity Provider) to perform a user’s authentification. Check the documentation here>>>. Service Provider (SP): is a system where need to authenticate, in our case this will be Jenkins… Read More »

Jenkins: Docker Compose deployment from Ansible with ECR authentication

26 September 2019
 

 In addition to the AWS: create an Elastic Container Registry and Jenkins deploy job post – the next part, where we will create a new Jenkins job to deploy a Docker Compose file to run our Docker image. Docker Compose file will be updated by an Ansible role called docker-deploy, which will set the desired… Read More »

AWS: create an Elastic Container Registry and Jenkins deploy job

23 September 2019
 

 The task is to create an AWS ECR repository and add a Jenkins job to build and deploy Docker images to this repository. See the next part – Jenkins: Docker Compose deployment from Ansible with ECR authentication. AWS ECR Go to the ECR, click Get Started, set a new repository name: Lave Mutable, so you’ll be… Read More »

SonarQube: solving “Unrecoverable indexation failures” and Elasticsearch “Disk watermark exceeded” errors

29 August 2019
 

 We are using SonarQube started from a Jenkins jobs. See more at SonarQube: running tests from Jenkins Pipeline in Docker. So, the SonarQube is started from the Jenkins – all good here, but inside SonarQube we can see errors: java.lang.IllegalStateException: Unrecoverable indexation failures: 1 errors among 1 requests at org.sonar.server.es.IndexingListener$1.onFinish(IndexingListener.java:39) at org.sonar.server.es.BulkIndexer.stop(BulkIndexer.java:122) … And host… Read More »

NGINX: multi-branch deployment with Ansible, NGINX map and HTTP Headers

26 June 2019
 

 We have a standard LEMP setup NGINX, PHP-FPM. Application – Yii-framework, deployed from Jenkins using Ansible role with the synchronize module on backend hosts in a /data/projects/prjectname/frontend/web,  directory which is set as a root for an NGINX virtual host. The task is to have the ability to deploy the same application on the same backend… Read More »

SonarQube: the “SCM provider autodetection failed” error

19 June 2019
 

 We have a fresh SonarQube installation (see details in the SonarQube: running tests from Jenkins Pipeline from Docker post). The issue But in its dashboard there is always an error: SCM provider autodetection failed. Please use “sonar.scm.provider” to define SCM of your project, or disable the SCM Sensor in the project settings. Also, it’s displayed… Read More »

SonarQube: running tests from Jenkins Pipeline in Docker

18 June 2019
 

 The task is to run our backend PHP tests using SonarQube from a jenkins Pipeline job. Jenkins running in Docker and all its builds also uses Docker. The main issue I faced during this setup was the fact that SonarQube’s container inside spawns another process with Elastisearch (while Docker concept says “1 service per one… Read More »

Jenkins: running PHPUnit from Codeception by a Pull Request in Github and Allure-reports

6 June 2019
 

 The task is to create a Jenkins Scripted Pipeline job to run PHPUnit with our PHP-based backend unit-tests. To run PHPUnit Codeception will be used. This Jenkins job must be triggered from a Github repository after creating Pull Request so will use Github Pull-Request Builder plugin here. To view generated reports – Allure Jenkins plugin… Read More »

AWS: IAM users keys rotation, EC2 IAM Roles and Jenkins

30 May 2019
 

 Today I checked our IAM-users and “suddenly” recalled that it’s good to update their credentials sometimes: Well, that’s good to do but here is a question: it’s simple enough to set an expire for keys in IAM, but what to do with all scripts which are used in our Jenkins and which are using those… Read More »

Jenkins: a job to check a Github organization’s public repositories list

16 April 2019
 

 Proceeding with a Github repositories checker. To recall: the idea is to have such a check in case if somebody from developers accidentally will share our project’s private repository as public, or will create a public repository instead of making it as a private one – we will get a Slack alarm about such a… Read More »