An open API service indexing awesome lists of open source software.

https://github.com/trainingbypackt/cloud-native-continuous-integration-and-delivery

Build, test, and deploy cloud-native applications in the cloud-native way
https://github.com/trainingbypackt/cloud-native-continuous-integration-and-delivery

continuous-deployment continuous-integration docker dockerfile golang kubernetes kubernetes-deployment makefile

Last synced: 12 months ago
JSON representation

Build, test, and deploy cloud-native applications in the cloud-native way

Awesome Lists containing this project

README

          

[![GitHub issues](https://img.shields.io/github/issues/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery.svg)](https://github.com/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery/issues)
[![GitHub forks](https://img.shields.io/github/forks/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery.svg)](https://github.com/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery/network)
[![GitHub stars](https://img.shields.io/github/stars/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery.svg)](https://github.com/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery/stargazers)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/TrainingByPackt/Cloud-Native-Continuous-Integration-and-Delivery/pulls)

## Cloud-Native Continuous Integration and Delivery
The course starts with a detailed explanation of CI/CD concepts by experimenting with cloud services and on-premise applications. You'll learn to create multi-stage builds and tests for Docker and apply best practices for Docker containers. You'll learn how to continuously deliver to Docker registry. As the course progresses, you'll experiment cloud services for continuous integration including build and test of cloud-native microservices. When the course ends, you would have experimented using Gitlab CI/CD Pipelines for continuous delivery, and configured and deployed software to Kubernetes using Helm.

Cloud-Native Continuous Integration and Delivery by **Onur Yilmaz**

## What you will learn
* Learn the basics of DevOps patterns for cloud-native architecture
* Learn the cloud-native way of designing CI/CD systems
* Apply the best practices for Docker container images
* Experiment using GitLab CI/CD pipelines for Continuous Integration
* Learn how to continuously deliver to Docker registry
* Learn how to continuously deploy to Kubernetes
* Experiment using GitLab CI/CD pipelines for Continuous Delivery
* Configure and deploy software to Kubernetes using Helm

### Hardware requirements
For an optimal student experience, we recommend the following hardware configuration:
* **Processor**: Intel Core i5 or equivalent
* **Memory**: 4 GB RAM or higher

### Software requirements
You’ll also need the following software installed in advance:
* **Text Editor**: Sublime Text (latest version), Atom IDE (latest version), or another similar text editor application
* Docker (Version 17.05 or higher)
* Git
* GNU make
### Dependency Management
* [govendor](https://github.com/kardianos/govendor) is used for dependency management.
* Fixed versions can be checked from [vendor.json](vendor/vendor.json)

## Website Pipeline Example

* This project's static pages are built by [GitLab CI][ci], following the steps
defined in [`.gitlab-ci.yml`](.gitlab-ci.yml).
* Static files are generated using [hugo](https://gohugo.io).

## Cloud-Native Book-Server Microservice
* REST API Server that works with any SQL database
* Cloud ready and all steps in Docker
* Gitlab CI Pipeline ready

## Requirements
* Docker (> version 17.05)
* GNU make

## Testing
All testing levels are implemented:
```
make static-code-check smoke-test unit-test integration-test
```

## Build
Production ready Docker container:
```
make prod
```

## Dependency Management
* [govendor](https://github.com/kardianos/govendor) is used for dependency management.
* Fixed versions can be checked from [vendor.json](vendor/vendor.json)