Create a CI/CD environment with Docker

Let’s talk about creating a continuous integration/continuous deployment with gitlab/gitlab-runner/docker.

If you don’t know what CI/CD is, let me just explain it like that:  CI is the part where you will build automatically the changes pushed by the developers and CD is the automated deployment of a software when after a build (for example). It’s maybe not totally accurate or maybe only a part of what CI/CD covers but you can get an idea why I find it cool.

Why Docker? Because it can be reproduced on someone else’s machine and this is helpful if  a colleague want to play with that for example and it can be less painful to deploy that infrastructure on a server as well.

Goal

Our goal today is deploying a CI/CD infrastructure which will deploy our dockerized application on a docker-machine every time we push a change.

You can find below a schema of the flow and the different actors.

(Yep, not beautiful)

Continue reading Create a CI/CD environment with Docker

Useful tools

For my real first article, I will just enumerate a list of tools which are kind of useful during my day-to-day work.

If you have other equivalent tools that you want to share because you think they’re best, be my guest.

  1. IDE
    1. Visual Studio Code
      Yeah, I know. Begin an article with IDE and under it VS Code sounds bad for some people. VS Code is not an IDE but with some plugins, it can more or less be. And it’s kind of good in this domain.
      I like to play with new languages and test some stuffs but I don’t want to install thousands of different IDE for different purposes so VS Code suit my needs perfectly!
  2. Notes
    1. tomboy-ng
      Using  a mac, I can’t use the “basic” tomboy so I tried this “ng”. So, it’s a beta, you can see that but it’s kind of useful thanks to the linking between notes.
      In conclusion, not perfect (paste/copy shortcuts don’t work actually, there was a bug when you tried to delete the title, …) but already useful.
  3. VM
    1. VM Ware Fusion
      Unfortunately, not free but I like the interface, the fact that you can have only one window with your different VMs opened, the freaking propositions to open some files from your host  in an application inside a VM, …
    2. Docker
      Not really a VM manager or something like that but God, this thing is neat. You have a shit tons of applications that you can run in a dockerized format (radare2, kali, …), simple to define links between applications, …
  4. Reverse engineering
    1. radare2/IDA Freeware: So, lot of discussions around these two. They are both really good (radare2 for scripting/open source/big community around it/… IDA for the nice graph/all the possibility around the types/type recognition/…). So try them both (and work with them more than a week 🙂 ) and always dig into them regularly 🙂
    2. x32dbg: the successor of ollydbg. Lot of updates, kind of user friendly, …
    3. sysanalyzer: my go to tool when first launching a malware! Complete, gives you a lot of information regarding the different API calls, the files touched on disk, …

More tools will come in the future (probably).

See ya!