Skip to main content

Best advices to give a CI/CD beginner

· 5 min read

We gathered for you the tips and tricks from people already doing CI/CD. It’s all the advices they would have love to get when they begin their own journey, learned (sometimes) the hard way! 👏

Tips n°1: think your Git workflow strategy

It all starts here: your branch strategy will impact your CI/CD pipelines. You need to think of it before building your pipeline, in order to make sure it will be the more efficient possible!

You can find some good Git branch strategy on GitKraken. You can also use the tool to visualize all your branches for your projects!

Here is the GitHub flow we prefer and use at R2Devops:

Picture of the GitHub Flow

How to implement faster your CI/CD?

· 4 min read

CI/CD increases the frequency of application distribution through automation. Indeed, it automates the process at the application development stage. The main concepts related to the CI/CD approach are Continuous Integration, Continuous Delivery and Continuous Deployment. CI/CD is a best practice for DevOps development. Today, many platforms exist to help you to set up your CI/CD pipeline. GitLab is one of them! Let’s see how this one works.

How to normally implement a CI/CD pipeline on GitLab?

Implementing a CI/CD pipeline can be scary if you don’t know where to start. Let’s see how you can implement it on GitLab!

The first step: define stages

In order to set up your pipeline, the first thing you need to do is to define the stages. They are really important in CI/CD because they define when a job will be executed.

A typical GitLab pipeline may consist of four steps, executed in the following order:

  1. Build
  2. Test
  3. Staging
  4. Production

Why using R2Devops’ official jobs?

· 4 min read

You probably already heard about CI/CD. If not, we recommend you to read those two articles about Continuous Integration and Continuous Deployment.

As a reminder, a job is a set of instructions to perform actions on your project. Comining several jobs together is the key to create a powerful pipeline. We will explain to you why you should use R2Devop’s official jobs. 👇🏼

Guaranteed security with official jobs

On r2devops.io, you will find a library of CI/CD jobs, some are officials and some are published by the community. Official jobs are jobs written or reviewed by R2Devops’ technical team. The community ones are personal jobs put online by the community, without examination from us.

All our official jobs go through a strong security pipeline. We made it to ensure tthey are all safe to use in your pipelines! Here is a schema of our security pipeline, where you can retrieve all the steps:

Schema of R2Devops’ security pipeline

Why doing CI/CD?

· 4 min read

You are not sure if you should implement a CI/CD pipeline in your development project? We explain to you why indeed you should! Check all the benefits you can pull from Continuous Integration, Delivery and Deployment. 👇

Improve your code quality and processes

First things first: continuous integration, or CI. It’s the process to continuously have faith and control of the lifecycle of your code (I know, it’s quite obvious).

Continuous and safe integration of your code

The CI part of your pipeline is where you test your code to ensure its quality and safety. You can do different kinds of tests: static or dynamic! They can all be in the same stage of your pipeline, or you can create 2 stages and realize your static tests before the dynamic ones.

Plus, you can easily add linters, to ensure a certain level of quality in your code, and make sure all your team respects the same standards.

"What is it important to realize tests on your code?"

First, you ensure its quality. Then, you secure it, and finally, you make sure it won’t break the code already in production!

Obviously, you can do both things by hand, but it will take hours! With the rights jobs in your CI pipeline (for example: megalinter, python test, … ), it would be done automatically in a few minutes. ✌️

Using CI/CD templates fixed versions in your pipeline

· 3 min read

What are fixed version? Is it really dangerous to use the Latest version of a CI/CD template? We answer your questions!

Some insight about version

Following semantic versioning, every time an owner applies changes to their CI/CD template, a new version should be released. They are 3 types of changes, each one corresponding to a number: X.Y.Z.

  • Z are patches, meaning bug fixes which don’t change the CI/CD template.
  • Y are minor modifications, improving the solution, and are backward compatible.
  • X are major changes that are NOT backward compatible.

Start with React Hooks

· 6 min read

Hooks have arrived with React 16.8. They allow you to use state and other React features without having to write a class. How does it work exactly? Let's check together! 👇🏼

React hooks cheat sheet R2Devops

What are React hooks?

React is a JavaScript library, created by Facebook, used only for the "view" side of the Model View Controller or MVC. Therefore, it is different from other JavaScript frameworks like AngularJS or EmberJS, which are complete frameworks from this point of view. React (without hooks) allowed you to define your components with classes.

React hooks are functions that allow you to use all the functionalities of React classes in functional components. Each React hook’s name is prefixed with the word “use”. Thanks to them, we can develop a React application made only of functional components. Moreover, functional components using hooks are fully compatible with React classes.

info

If you want to switch to hooks on your application, you can do it without breaking it. These hooks allow you to replace the state and lifecycle methods of a React class. As they are not classes, the keyword 'this' has no more interest in your code.

You can see the difference between React class and React hooks just below. 👇🏼

Example of the same code written with React class or React hooks

Git commands used by R2Devops’ team

· 5 min read

Starting git commands

First of all, let’s have a look at some useful starting commands that you will need to begin your git project!

git config

This command allows you to get and set a repository or global options.

Example:

git config --global user.name DarkVador

In this example, the command set the name that will be attached to your commits and tags.

git config --global user.email DarkVadorOff@StarWars.com

In the same way, the command sets the email that will be attached to your git account.

The Occitanie region supports R2Devops

· One min read

We are pleased to announce that our project R2Devops has received support from the Occitanie region. The region is supporting our initiative through funding, which will enable us to accelerate research and development and release new AI-related features more quickly. We are honored by the trust that the region has placed in R2Devops.

🇫🇷 La région Occitanie soutient R2Devops

Nous sommes heureux d'annoncer que notre projet R2Devops a reçu le soutien de la région Occitanie. La région soutient notre démarche via un financement qui va nous permettre d'accélérer la R&D et sortir plus rapidement de nouvelles features lié à l'IA. Nous sommes honorés de la confiance que la région a placé dans R2devops.