Gitlab: Local Continuous Integration with Docker & Dotnetcore

Started this in the beginning of the year...
   On a Friday night, I spent my time working up til 6 in the morning on this. Probably the most difficult but simple process I've completed. Still proud that I completed it in a single night despite all the challenges. Some of which actually helped me create a solution more professional in my opinion. Meaning I didn't just create a work around. For example in my research I found other developers using scp (secure copy in linux) with sshpass which isn't problem when deploying remotely. However I needed to do it locally. So for me using an ssh really seems waste for internal Processing. At the time creating this solution though I didn't care I need something fast. I should also note I'm not using docker to host my aspnetcore app but using the gitlab-runner in docker. 

Update to now
I've come a long way now to where creating task runners is a lot easier and I'm spinning them up specifically for each project need. Where I can improve is mapping out what projects need what and what I can reuse. This might not be possible since I use a folder to map the docker image files out in the server's location. However if I used a parent folder and have a way to config the child folder that would reduce the amount of times I need to create a new task runner. That would also mean though that I'd have to group projects based on their technologies. A lot of my projects are based on open source projects on github. I do have a plan to combine some projects or handle them with a more api based backends. So this is really just a question of time and design with the api since I do use the same frontend technologies (if I can help it).

Docker Images 
This is a list of images I can use when I'm attaching a new task runner. Most of my projects are dotcore but as I start to include more android projects this list will grow. Still in the middle with third parties on mobile development but doing more unit testings.
  • microsoft/dotnet 
  • dotnet/core/sdk:2.1 (old version)
  • mcr.microsoft.com/dotnet/core/sdk:2.1
  • openjdk:8-jdk

Popular posts from this blog

Aspetcore: NLog with Postgresql

Mongodb Cheatsheet

Installing Windows on Acer chromebook 15 cb3-532