Skip to content

Commit

Permalink
Merge pull request #129 from Minimum-CD/convert-to-hugo
Browse files Browse the repository at this point in the history
Bryan must merge: Convert to hugo
  • Loading branch information
bdfinst authored Oct 27, 2021
2 parents 7213c29 + 6d57b42 commit 1500ccf
Show file tree
Hide file tree
Showing 305 changed files with 11,574 additions and 155 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
.history/
.history/
public/
resources/
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "themes/docport"]
path = themes/docport
url = https://github.com/vjeantet/hugo-theme-docport.git
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Suggested changes may be re-phrased for clarity, but we will verify intent with

## Adding your signature

If you agree that this is MinimumCD, please create a [pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) to add your signature. We are determined to be good custodians of the core principles and promise that any changes to the practices will receive much scrutiny.
If you agree that this is MinimumCD, please create a [pull request](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) to add your signature to the [signature file](content/MinimumCD/signatures.md). We are determined to be good custodians of the core principles and promise that any changes to the practices will receive much scrutiny.

## Removing your signature

Expand Down
155 changes: 7 additions & 148 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,156 +1,15 @@
# Minimum Viable Continuous Delivery

> "Continuous delivery improves both delivery performance and quality, and also helps improve culture and reduce burnout and deployment pain."
This is a community project to define the minimum set of practices that give the expected improvements to outcomes, quality of life, and organizational structure that come with continuous delivery.

-- Accelerate
## Contributing

We, [the undersigned](#signatories), believe that a minimal definition of continuous delivery (CD) is required to improve the flow of delivery. While our contexts may be different, there are universal practices. By defining them we can:
Please see the [contribution](CONTRIBUTING.md) page for adding signatures or suggesting improvements.

- Introduce new practitioners in a consistent way
- Discuss engineering practices that comprise CD
- Help each other improve current capabilities
If you'd like to submit a translation, please see the suggestions [here](TRANSLATING.md).

Only by implementing core practices do we begin to see the benefits of continuous delivery.
## Tool info

The practices below are the minimum, a starting point. Continuous improvement of the speed, quality, and safety of the delivery pipeline is the expected outcome.
Built with Hugo

---

## Continuous Delivery

CD is the engineering discipline of delivering all changes in a standard way safely. It covers a broad spectrum of activities depending on what is being delivered. However, there are behaviors and abilities that must be met in every context to qualify as "continuous delivery"

The minimum activities required for CD are:

- [Continuous integration](#continuous-integration)
- The [application
pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract)
is the only path to deploy to production.
- The pipeline decides the releasability of changes, its verdict is [definitive](./faq.md#why-should-the-pipeline-be-definitive-for-deploy)
- Artifacts created by the pipeline always meet the organization's [definition of deployable](./faq.md#what-do-we-mean-by-definition-of-deployable)
- [Immutable artifact](./faq#what-is-an-immutable-artifact). No human changes after commit.
- All feature work stops when the pipeline is red
- Production-like test environment
- Rollback on-demand
- [Application configuration](./faq.md#what-is-application-configuration) deploys with artifact

## Continuous Integration

CI is the activity of very frequently integrating work to the trunk of version control and verifying that the work is, to the best of our knowledge, releasable.

The minimum activities required for CI are:

- [Trunk-based development](https://trunkbaseddevelopment.com/)
- Work integrates to the trunk at a minimum daily
- Work has automated testing before merge to trunk
- Work is tested with other work automatically on merge
- All feature work stops when the build is red
- New work does not break delivered work

## Trunk-based Development

[Trunk-based development](https://trunkbaseddevelopment.com/) is the branching pattern required to meet the definition
of CI. It prevents lost work, the risk of corruption that comes from merge conflict resolution, and also reduces movement
waste that increases batch size.

- The minimum activities required for TBD are:
- All changes integrate into the trunk
- If branches from the trunk are used:
- They originate from the trunk
- They re-integrate to the trunk
- They are short-lived and removed after the merge

## Beyond the Minimums

Minimum CD is not the first step in a maturity model. However, it is still the bare minimum upon which many more practices should be built as appropriate to your context. To aid your journey in going beyond Minimum CD, we maintain a list of resources that focus on Continuous Delivery which we have found very useful in our own journeys.

These contain the basics, but also the knowledge needed to become an "Elite" CD organization. They are specific to solving the problem of "why can't we go to production today?"

[Read the list](./references.md).

## Why did we build this?

For more background on Minimum CD and answers to other common questions, please [read the FAQs](./faq.md).

## Translations

- [Finnish](./fi/README.md)
- [French](./fr/README.md)
- [Italian](./it/README.md)
- [Spanish](./es/README.md)

## Want to Contribute or become a signatory?

Read our [contribution guidelines](./CONTRIBUTING.md).

## Signatories

| Name | Contact |
|--------------------|-------------------------------------------------------------|
| Dave Farley | <https://www.linkedin.com/in/dave-farley-a67927> |
| Bryan Finster | <https://www.linkedin.com/in/bryan-finster/> |
| Ferrix Hovi | <https://www.linkedin.com/in/ferrix/> |
| Justin Abrahms | <https://justin.abrah.ms/> |
| Joe Arrowood | <https://www.linkedin.com/in/joearrowood/> |
| Jerreck McWilliams | <https://www.linkedin.com/in/jerreck/> |
| Istvan Bathazi | <https://www.linkedin.com/in/istvan-bathazi/> |
| Sara Gramling | <https://www.linkedin.com/in/saragramling/> |
| Tracy Bannon | <https://www.linkedin.com/in/tracylbannon/> |
| Dana Finster | <https://www.linkedin.com/in/danafinster/> |
| Patrick S. Kelso | <https://www.linkedin.com/in/patrickkelso/> |
| Ben Link | <https://www.linkedin.com/in/benjamindlink/> |
| Chris Kernaghan | <https://www.linkedin.com/in/chriskernaghan/> |
| Chris Gossett | <https://www.linkedin.com/in/christopher-gossett-03b09347/> |
| Joshua Barton | <https://www.linkedin.com/in/bartonjoshua/> |
| Marc Boudreau | <https://www.linkedin.com/in/marc-boudreau> |
| Courtney Kissler | <https://www.linkedin.com/in/courtney-kissler-0930681/> |
| Andrea Laforgia | <https://www.linkedin.com/in/andrealaforgia/> |
| Michael Nygard | <https://www.linkedin.com/in/mtnygard/> |
| Aurel Estoup | <https://www.linkedin.com/in/aurel-estoup/> |
| Emiliano Sutil | <https://www.linkedin.com/in/emiliano-sutil-77a2091b/> |
| Jason Walker | <https://github.com/desktophero> |
| Thomas J. Sweet | <https://www.linkedin.com/in/thomasjsweet/> |
| Kelly Brownsberger | <https://www.linkedin.com/in/kellybrownsberger/> |
| Andrew Marshall | <https://www.linkedin.com/in/ajmarshall2k/> |
| Vilas Veeraraghavan| <https://www.linkedin.com/in/vilas-veeraraghavan/> |
| Javier Lopez | <https://www.linkedin.com/in/javierlopezfernandez/> |
| Javier Magana | <https://www.linkedin.com/in/javier-a-magana-98108/> |
| Faraz Syed | <https://www.linkedin.com/in/farazsyed/> |
| James Simon | <https://www.linkedin.com/in/jamesesimon/> |
| Nathen Harvey | <https://twitter.com/nathenharvey> |
| Jesse Getzie | <https://www.linkedin.com/in/jessegetzie/> |
| Christophe Chaudier| <https://www.linkedin.com/in/cchaudier/> |
| Rosalind Radcliffe | <https://www.linkedin.com/in/rosalind-radcliffe/> |
| Austin Abro | <https://www.linkedin.com/in/austinabro/> |
| Ron Forrester | <https://www.linkedin.com/in/ronforresterpdx/> |
| David Hawes-Johnson| <https://www.linkedin.com/in/davidhawesjohnson/> |
| Paul Moore | <https://www.linkedin.com/in/pdmoore2/> |
| Shawn Button | <https://www.linkedin.com/in/shawnbutton/> |
| Jesse Lin | <https://www.linkedin.com/in/jesse-lin/> |
| Markus Mikkolainen | <https://www.linkedin.com/in/itmmti/> |
| Alessandro Fardin | <https://www.linkedin.com/in/alessandro-fardin-61028b28/> |
| James Moverley | <https://www.linkedin.com/in/jmoverley/> |
| Michael Kingery | <https://www.linkedin.com/in/kingerymike/> |
| Isaac Perez Moncho | <https://www.linkedin.com/in/isaac-perez-moncho-84922b6/> |
| Igor Gassmann | <https://igassmann.me/> |
| Wayne Gaskill | <https://www.linkedin.com/in/waynegaskill/> |
| Chris Gallivan | <https://www.linkedin.com/in/christopher-gallivan-16a2b02/> |
| Alexander Birk | <https://www.linkedin.com/in/alexander-birk-050625215/> |
| Kaine Bent | <https://www.linkedin.com/in/ka1ne/> |
| Andrew Ochsner | <https://www.linkedin.com/in/aochsner/> |
| Stephen Magill | <https://www.linkedin.com/in/stephen-magill-2070a096/> |
| Jordan Schwartz | <https://www.linkedin.com/in/jordanaschwartz/> |
| Jean-François Lépine| <https://www.linkedin.com/in/jean-fran%C3%A7ois-l%C3%A9pine-6a122726/> |
| Markus Arikan | <https://www.linkedin.com/in/marikan/> |
| Jeff Dunn | <https://www.linkedin.com/in/jeffadunn/> |
| Bob Winter | <https://www.linkedin.com/in/bob-winter> |
| Azlam Abdulsalam | <https://www.linkedin.com/in/azlam> |
| Jos Hendriks | <https://www.linkedin.com/in/jos-hendriks/> |
| Nathan Nicholson | <https://www.linkedin.com/in/nathan-r-nicholson> |
| William H. Kirk | <https://www.linkedin.com/in/whk/> |
| John Boyes | <https://www.linkedin.com/in/john-boyes/> |
| Patrice Corbard | <https://www.linkedin.com/in/patricecorbard/> |
| Dirk Lehmann | <https://www.linkedin.com/in/dirk-lehmann-7712bb125/> |
| Niko Kivelä | <https://www.linkedin.com/in/nikokivela/> |
| Vu Ha | <https://www.linkedin.com/in/vuhacanada/> |
| Srđan Đukić | <https://www.linkedin.com/in/srdandukic/> |
[Theme](https://docport.netlify.app/docport-theme/) documentation
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

6 changes: 6 additions & 0 deletions archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

64 changes: 64 additions & 0 deletions config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
baseURL = 'https://minimumcd.org/'
title = 'MinimumCD.org'
languageCode = "en-US"
defaultContentLanguage = "en"

theme = "docport"

pygmentsCodeFences = true
pygmentsStyle = "monokai"

defaultContentLanguageInSubdir= false
enableMissingTranslationPlaceholders = false

# googleanalytics = "UA-123-45"

disableKinds = ["taxonomy", "taxonomyTerm", "category", "RSS"]

# Keep this as is
[outputs]
home = [ "HTML", "RSS", "JSON"]

# Site params
[params]
ordersectionsby = "weight" # ordersectionsby = "title"
color_main = "#477bbf"
color_second = "#b30000"
disableSearch = false # default is false
disableNavChevron = false # set true to hide next/prev chevron, default is false
menushortcutsnewtab = false # set true to open shortcuts links to a new tab/window

editURL = "https://github.com/Minimum-CD/cd-manifesto/content/"
enableGitInfo = true

[mediaTypes]
[mediaTypes."application/netlifyconfig"]
suffixes = ["yml"]

[outputFormats]
[outputFormats.netlifyyaml]
mediaType = "application/netlifyconfig"
isPlainText = true
isHTML = false
notAlternative = true

[markup.goldmark.renderer]
unsafe = true

# Code highlight configuration
[markup.highlight]
codeFences = true
guessSyntax = true
hl_Lines = ""
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
style = "monokai"
tabWidth = 2

[[menu.shortcuts]]
name = "Github"
identifier = "ds"
url = "https://github.com/Minimum-CD/cd-manifesto"
weight = 10
12 changes: 12 additions & 0 deletions content/Change Log/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Change Log
description: ""
weight: 3
---

## Changes to the core practices

| Date | Change |
|------------|-----------------------------------------------------------------------------------------------------------------------------|
| 2021-10-12 | [v1.0.0](https://github.com/Minimum-CD/cd-manifesto/tree/6e9d68c442c0e9c9a4bfd9a4edae347fe4a7ce4f) Dave Farley signature |
| 2021-10-08 | [Initial Commit](https://github.com/Minimum-CD/cd-manifesto/tree/7c4e098ee19d5fbe1b7d80b2726e8e04e6fff186) |
6 changes: 5 additions & 1 deletion faq.md → content/FAQ/_index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Frequently Asked Questions
---
title: Frequent Questions
description: FAQ
weight: 2
---

## Why does this exist?

Expand Down
79 changes: 79 additions & 0 deletions content/MinimumCD/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: Minimum Viable CD
description: ""
weight: 1
---

{{% notice %}}
"Continuous delivery improves both delivery performance and quality, and also helps improve culture and reduce burnout and deployment pain."

-- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
{{% /notice %}}

We, [the undersigned](#signatories), believe that a minimal definition of continuous delivery (CD) is required to improve the flow of delivery and achieve the outcomes above. While our contexts may be different, there are universal practices common in all. By defining them we can:

- Introduce new practitioners in a consistent way
- Discuss engineering practices that comprise CD
- Help each other improve current capabilities

Only by implementing core practices do we begin to see the benefits of continuous delivery.

The practices below are the minimum, a starting point. Continuous improvement of the speed, quality, and safety of the delivery pipeline is the expected outcome.

---

## Continuous Delivery

CD is the engineering discipline of delivering all changes in a standard way safely. It covers a broad spectrum of activities depending on what is being delivered. However, there are behaviors and abilities that must be met in every context to qualify as "continuous delivery"

The minimum activities required for CD are:

- Use [Continuous integration](#continuous-integration)
- The [application
pipeline](https://www.informit.com/articles/article.aspx?p=1621865&seqNum=2#:~:text=%EE%94%80Buy-,What%20Is%20a%20Deployment%20Pipeline%3F,-At%20an%20abstract)
is the only path to deploy to production.
- The pipeline decides the releasability of changes, its verdict is [definitive](./faq.md#why-should-the-pipeline-be-definitive-for-deploy)
- Artifacts created by the pipeline always meet the organization's [definition of deployable](./faq.md#what-do-we-mean-by-definition-of-deployable)
- [Immutable artifact](./faq#what-is-an-immutable-artifact). No human changes after commit.
- All feature work stops when the pipeline is red
- Production-like test environment
- Rollback on-demand
- [Application configuration](./faq.md#what-is-application-configuration) deploys with artifact

## Continuous Integration

CI is the activity of very frequently integrating work to the trunk of version control and verifying that the work is, to the best of our knowledge, releasable.

The minimum activities required for CI are:

- [Trunk-based development](https://trunkbaseddevelopment.com/)
- Work integrates to the trunk at a minimum daily
- Work has automated testing before merge to trunk
- Work is tested with other work automatically on merge
- All feature work stops when the build is red
- New work does not break delivered work

## Trunk-based Development

[Trunk-based development](https://trunkbaseddevelopment.com/) is the branching pattern required to meet the definition
of CI. It prevents lost work, the risk of corruption that comes from merge conflict resolution, and also reduces movement
waste that increases batch size.

- The minimum activities required for TBD are:
- All changes integrate into the trunk
- If branches from the trunk are used:
- They originate from the trunk
- They re-integrate to the trunk
- They are short-lived and removed after the merge

## Why did we build this?

For background on Minimum CD and answers to other common questions, please [read the FAQs](../faq).

## Want to Contribute?

Read our [contribution guidelines](https://github.com/Minimum-CD/cd-manifesto/blob/master/CONTRIBUTING.md).

## Signatories

{{%excerpt-include filename="MinimumCD/signatures.md" panel="" /%}}
Loading

0 comments on commit 1500ccf

Please sign in to comment.