cicee 1.12.0
dotnet tool install --global cicee --version 1.12.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local cicee --version 1.12.0
#tool dotnet:?package=cicee&version=1.12.0
nuke :add-package cicee --version 1.12.0
Continuous Integration Containerized Execution Environment (CICEE)
What is CICEE?
CICEE is an opinionated orchestrator of continuous integration processes. CICEE executes commands in a Docker container, using the files in your project repository, and provides a convention-based structure for fulfilling dependencies.
CICEE also provides a continuous integration shell function library to support the use of shell script-based continuous integration workflows.
What does CICEE require? What are its dependencies?
bash
: bash shelldocker
: Docker command-line interfacedotnet
: .NET SDK (6.x
,7.x
, and8.x
supported)
Why use CICEE?
CICEE users' most common use cases:
- Validating project code, e.g., during a pull request review, consistently on both developer workstations and continuous integration servers.
- Assembling distributable artifacts, e.g., Docker images or NPM packages.
- Running integration tests requiring dependencies, e.g., databases.
- Executing code cleanup, linting, reformatting, or other common development workflows, without prior tool installation.
How do you use CICEE?
CICEE .NET Templates
.NET solution templates are available in the
Cicee.Templates
NuGet package. These templates provide easy templates for repository initialization which follow CICEE conventions.To install/update, execute:
dotnet new install Cicee.Templates
As of
Cicee.Templates
version0.2.0
, the following templates are provided:
cicee-classlib-package
: Aclasslib
-based Package Solution
- This template provides a base for creating libraries, distributed as NuGet packages. It includes: a source project, based upon the
classlib
template, a unit test project, based upon thexunit
template, and CI scripts.cicee-webapi-service
: Awebapi
-based Service Solution
- This template provides a base for creating web APIs, distributed as Docker images. It includes: a source project, based upon the
webapi
template, unit test and integration test projects, based upon thexunit
template, and CI scripts.
Quickstart
Step 0: Install CICEE
dotnet tool install -g cicee
If you already have CICEE installed, but want to update to the latest release:
dotnet tool update -g cicee
Step 1: Add a Continuous Integration Containerized Execution Environment
Open a Bash terminal session in the root directory of the project.
Execute cicee init repository
.
dotnet new tool-manifest && dotnet tool install --local cicee && dotnet cicee init repository
This adds:
- a .NET local tool installation of CICEE
- a
Dockerfile
which will provide all the tools needed to perform the project's continuous integration tasks. docker-compose
files which define the continuous integration containerized execution environment.- a small, flexible continuous integration workflow template. Three initial workflows are provided:
compose
: Create the project's distributable artifacts. For example, render SASS to CSS, compile source code, build docker images, compress zip archives, package for NPM, etc.publish
: Publish the project's distributable artifacts to their repositories. For example, push docker images, publish a package to NuGet, etc.validate
: Validate the current project for correctness, completeness, or other rules. Supports automated checks which should be executed during pull request review.
Step 2: Try It Out
Open a Bash terminal session in the root directory of the project.
Execute cicee exec
and provide one of the CI workflow entry points.
dotnet cicee exec --entrypoint ci/bin/validate.sh
Next Step
- Update continuous integration configuration. This is normally done in
project-metadata.json
(which was created bycicee init repository
). However, if there is noproject-metadata.json
, CICEE will read NPM'spackage.json
, if present.- Update the project's name and description, if needed.
- Update the current
Major.Minor.Patch
version. - Configure required environment variables and defaults.
- Set up the continuous integration workflow.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated | |
---|---|---|---|
1.12.0 | 2,180 | 6/11/2024 | |
1.11.0 | 2,037 | 11/22/2023 | |
1.10.0 | 2,004 | 8/9/2023 | |
1.9.1 | 1,940 | 3/21/2023 | |
1.9.0 | 2,406 | 1/2/2023 | |
1.9.0-build-20221224-034517... | 1,310 | 12/24/2022 | |
1.8.0 | 2,661 | 12/6/2022 | |
1.7.0 | 1,345 | 12/4/2022 | |
1.6.1 | 1,726 | 10/17/2022 | |
1.6.0 | 1,539 | 10/15/2022 | |
1.5.3 | 1,562 | 10/14/2022 | |
1.5.2 | 1,595 | 10/14/2022 | |
1.5.1 | 1,539 | 10/2/2022 | |
1.5.0 | 1,513 | 10/1/2022 | |
1.4.0 | 1,497 | 7/9/2022 | |
1.3.0 | 1,506 | 7/9/2022 | |
1.3.0-build-20220708-232722... | 1,081 | 7/8/2022 | |
1.2.0 | 1,383 | 7/3/2022 | |
1.1.0 | 1,590 | 6/23/2022 | |
1.0.0 | 1,714 | 6/5/2022 | |
0.13.0-build-20220414-05310... | 1,115 | 4/14/2022 | |
0.13.0-build-20220414-05122... | 1,269 | 4/14/2022 | |
0.12.1 | 2,176 | 4/14/2022 | |
0.12.0 | 1,697 | 4/3/2022 | |
0.11.0 | 1,642 | 3/21/2022 | |
0.10.1 | 1,645 | 2/21/2022 | |
0.10.0 | 1,749 | 2/16/2022 | |
0.9.1 | 1,659 | 1/21/2022 | |
0.9.0 | 1,664 | 11/9/2021 | |
0.8.1 | 1,620 | 10/26/2021 | |
0.8.0 | 1,618 | 10/17/2021 | |
0.7.0 | 1,852 | 3/27/2021 | |
0.6.0 | 1,467 | 3/21/2021 | |
0.5.1 | 1,377 | 3/21/2021 | |
0.4.0 | 1,484 | 3/12/2021 | |
0.3.0 | 1,586 | 2/24/2021 | |
0.3.0-sha-e31b291 | 1,448 | 3/12/2021 | |
0.2.0 | 1,758 | 2/22/2021 | |
0.1.0 | 1,497 | 2/21/2021 | |
0.0.0 | 1,619 | 2/16/2021 | |
0.0.0-sha-5c0e3d1 | 1,984 | 2/11/2021 | |
0.0.0-sha-55d39ed | 2,167 | 2/11/2021 | |
0.0.0-sha-54f432c | 1,625 | 2/18/2021 | |
0.0.0-sha-24b6124 | 2,026 | 2/11/2021 | |
0.0.0-sha-17e2a71 | 1,823 | 2/11/2021 |