6
netctl
6y

After a couple of days reading bout CI/CD i find it really compilated for my usecase. Server for jankins server for rancher server for anything and a lot of configurations to make it work. So i gave up and decided to build my own CI tool which turned out to be easiear than all of this. So i wrote a simple cli tool in go which listens on master branch of every directory specified in a .yml file and everytime a new commit is done it pulls the repo and rebuilds the container. Pretty easy without having to deal with all the bullshit

Comments
  • 1
    Glad it worked. Watch out though so that nothing leaks. Ever tried CircleCI? It's quite easy to grasp IMO
  • 0
    Cool, do you plan to make it open source?
  • 2
    Jenkins is a very old ci tool. It covers everything which makes it complicated to setup. Lately I've been using gitlab-ci and it's pretty easy to setup for basic uses. If you use github and a project is opensource travis ci might be a good fit. But i wouldn't mind taking a look at the ci tool you've made.
  • 1
    @ScriptCoded yeah i have heard of CircleCI. Never used it. But i would like to know how it works and is it time consuming to setup or no
  • 1
    @heyheni yeah it is open source ofcourse its written and used as a go tool
    github.com/flakaal/flaka-ci
  • 1
    @PerfectAsshole actually all the service repos are no gitlab and i grouped them together and tried to make a kubernetes cluster on gce. It created all the vms and build the services but the ports were not exposed and i couldnt reach the server so again it needed some configuration + after pushing again on master the test stage was failing. Me being me was lasy to read some documetation and just gave up 😂
  • 0
    @netctl ah ok. I haven't messed with gitlab's kubernetes integration yet. I tend to just run a basic test and push to gitlab's docker registry
  • 0
    @PerfectAsshole for me thats a reason not to use it. I dont like to publish images on there. In my case i have a web app which is running on micro-service architecture and i want to deploy it to a test server its not like im using it on production. So i want it dead simple watch master -> pull -> build -> docker-compose up -d
  • 0
    @netctl yeah i understand that. It's the reason i made docker service updater
  • 0
    @netctl It works pretty well and uses only one configuration file. It runs docker images, so building containerized images is easy. Unless you've got very complex pipeline requirements setup shouldn't take more than a few hours.
  • 0
    @PerfectAsshole i would like to have a look. Please leave a link
  • 1
    @ScriptCoded i will have a look. Maybe for production use. The only thing to be done on the pipeline is change GO_ENV
  • 0
    @netctl https://gitlab.com/paranoidsecurity...

    It uses docker services which is docker stack but it shouldn't be that much of a jump from up -d since it uses the same config file. Even if you don't want to use services it shouldn't be too hard to downgrade to updating containers. It uses webhooks to issue a pull and update which can be done by a build step in gitlab-ci

    Edit: it also works on private repos
  • 0
  • 0
    I've tried Travis, Jenkins and Circle, the latter is miles ahead I find
Add Comment