- Where to find activation key for real drone code#
- Where to find activation key for real drone series#
We'll make sure that Google's firewall lets in HTTP traffic.
The first thing we'll do is set up a VM (Google Cloud calls this a compute instance) with a static IP address. If any of this stuff bothers you, please take a look at part 2. Thus far, we've been interacting with our cluster via the Google Cloud shell, so we're going to keep doing that. We already have a K8s cluster set up on Google Cloud, and it is running a deployment containing a really simple web app. Now I'll be working on the assumption that you have been following along since part 1 of this series.
It works fine with GitHub and other popular Git applications as well. In this section, we're going to set up drone on a VM in Google Cloud and get it to play nice with GitLab. It's also one of the easier CI/CD systems to learn. It's open source, highly configurable (every build step is executed by a container!) and has a lot of plugins available. Drone.ioĭrone is a container based Continuous Delivery system. You can also set up pipelines for merge/pull requests, e.g., if a developer requests a merge, execute the above pipeline but LEAVE OUT STEP 6 (deploying to production). The pipeline will skip to the end of the process and notify the team that the deployment was a failure.
Where to find activation key for real drone code#
If, for example, one of the test steps fails, then the code will not get deployed to production. maybe run a few more tests, e.g., saturation tests with locust.io or similar.set up a test environment where the new container can run within a realistic context.There are many good books (like this one) dedicated to designing deployment pipelines, but, in general, you'll want to do something like this:
Where to find activation key for real drone series#
There are loads of CI/CD tools around and they have their own ways of configuring their pipelines (a pipeline is a series of steps code needs to go through when it is pushed). The deployment process can get very complex if there are multiple developers working on multiple services at the same time, since we would need to keep track of version compatibility for the various services.ĬI/CD is all about automating this sort of thing. It might also be necessary to measure the performance of the new image by running some tests with a tool like Locust. Once that is done, it would be good to make sure that the Docker image actually works by doing some tests against a live container (maybe a group of live containers). Then, since we are working with microservices, there is probably a Docker image to build and push. First, we should make sure all of the unit tests pass and have good coverage. The process of deploying code to production is not so straightforward. If all of this sounds pretty cryptic, I would suggest you take some time to learn about Git.
Once the code is merged to the master branch, it should mean that it is ready to be deployed into production. Once the developer is confident that their feature is complete, they request that their feature branch gets merged into the master branch. Let's say Webflix wisely chooses to use Git to store their code and they follow a feature branching strategy.īranching strategies are a bit (a lot) outside the scope of this article, but basically, what this means is that if a developer wants to make a new feature, they code up that feature on a new Git branch. Each of these services is associated with some code stored in a repository somewhere. Webflix is running a whole lot of services in K8s. Let's revisit Webflix to make this point clear. So what's the deal with CI/CD?Ĭontinuous Integration and Continuous Deployment are the next step to go through if you want a production-grade microservice application. In this part, we'll get a simple CI/CD pipeline up and running so that our code changes are automatically tested and deployed as soon as we push them. We'll also deal with the basics of scaling and updating our application. In Part 2, we got our application online by deploying it to a Kubernetes cluster that we set up ourselves on Google Cloud. We have thus far been working with this repo. In part 1, we got acquainted with Docker by building an image for a simple web app, and then running that image. This is the third and final part of our series on micro-service deployment.