项目作者: FontysVenlo

项目描述 :
Introduction into Continuous Integration / Continuous Delivery
高级语言:
项目地址: git://github.com/FontysVenlo/ci-cd-introduction.git
创建时间: 2020-05-20T06:26:23Z
项目社区:https://github.com/FontysVenlo/ci-cd-introduction

开源协议:

下载



title: “Development Processes Course”
subtitle: “CI/CD introduction”
author: [Stefan Sobek]
date: “2021-05-26”
subject: “Development Processes”
keywords: [Fontys, Agile, CI-CD]
lang: “en”
titlepage: “true”
logo: “images/fontyslogo.png”
titlepage-rule-color: “400070”
page-background : “images/fontyslogo-background.png”

reveal settings

theme: night
separator:
verticalSeparator:
notesSeparator:
revealOptions:

None - Fade - Slide - Convex - Concave - Zoom

transition: ‘concave’
transition-speed: fast
slideNumber: true
history: true
progress: true
width: 1248
height: 800
parallaxBackgroundImage: ‘images/fontys-parallax-all-dark.jpg’
parallaxBackgroundSize: ‘2100px 1024px’

autoSlide: 4000

loop: true

center: false

CI/CD Introduction

What is CI/CD

CI/CD means Continous Integration / Continuous Delivery

  • CI/CD is a fundamental concept in software development
    • Continuous Integration
    • Continuous Delivery
    • Continuous Deployment

CI-CD pipeline example

Continuous Integration

The practice of automatically building and unit
testing an entire application frequently, ideally on
every source code check-in

Continuous Delivery

The practice of deploying every build to a
production-like environment and performing
automated integration and acceptance testing

Continuous Deployment

The practice of automatically deploying every build
to production after it passes its automated tests

Generally with CI/CD Continuous Integration / Continuous Delivery is meant. Continuous Delivery and Continuous Deployment are similar and are very often interchanged.
However the grade of automation if different.
Continuous Delivery means that usually changes are tested/accepted and release to a specific release repository or production like environment whereas Continuous Deployment really means that after automatic testing and acceptance testing it is deployed to the production system and in use.

Github Actions

  • We’ll use Github Action because…
    • well, we work on Github
  • Github Actions use YAML files
  • .yml or .yaml extension

Github Actions

HELLO WORLD Example

  • Open your repository and goto Actions

actions-01

actions-01

  • Here we are:
    actions-01
  • Now commit it and look up in action tab how it runs
    actions-01
  • Now click the details to see what happens
    actions-01 The output is simply: Hello World!!!

actions-01

To learn more:

Exercise

  • Together with your Group:
    • On your PRJ2 repository activate github actions and let your application(s) BUILD
    • Hint start with Maven Java build template
    • Then adapt it for your needs (e.g. your pom file is located somewhere else -> /implementation)