Skip to content

Documentation, configuration, scripts, and other logic needed to automate the release of curriculums.

Notifications You must be signed in to change notification settings

slonl/release-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

SLO CircleCI - CI/CD Automation

Each project in CircleCI is connected to a GitHub Repository.

Within a project, CircleCI describes the following concepts:1

  • Pipeline the entirety of CircleCI configuration
    • Workflows orchestrates multiple jobs.
      • Jobs runs a series of steps
        • Steps run commands or shell scripts

These can be described in a .circleci/config.yml file.

Example Configuration

There are many configuration options available in CircleCI.2

The following is a simple example of a configuration file:

---
version: 2.1

commands: # a reusable command with parameters
  greeting:
    parameters:
      to:
        default: "World"
        type: string
    steps:
      - run: echo "Hello <<parameters.to>>!"

jobs:
  example-job:
    machine:
      image: ubuntu-2404:current
    steps:
      # Reusable command example
      - greeting: 
          to: "Universe"
      # Manual step example
      - build
      - test:
          requires:
            - build
      - hold:
          type: approval
          requires:
            - test
      - deploy:
          requires:
            - hold

Steps can by run in Virtual Machines3 (for instance ubuntu-2404) or Docker containers4 (for instance cimg/node).

Release Process

The processes involved with a release are:

  1. GitHub Synchronisation Automated periodical process to synchronise production data back to the editor branch of repositories.
  2. Manual Build Process Tests the editor branch of repositories and provides a way to create a release.
  3. Automated Deploy Process Automated process to deploy a release to production.

These processes should look something like this:

GitHub Synchronisation Build Deploy
github-sync.png build.png deploy.png

Resources

Footnotes

  1. https://circleci.com/docs/concepts/

  2. https://circleci.com/docs/configuration-reference/

  3. https://circleci.com/developer/images?imageType=machine

  4. https://circleci.com/developer/images?imageType=docker

About

Documentation, configuration, scripts, and other logic needed to automate the release of curriculums.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published