cicee 1.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global cicee --version 1.6.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local cicee --version 1.6.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=cicee&version=1.6.0
nuke :add-package cicee --version 1.6.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 shell
  • docker: Docker command-line interface
  • docker-compose: Docker Compose command-line interface (compose file version 3.7 support required)
  • dotnet: .NET runtime (6.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?

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 by cicee init repository). However, if there is no project-metadata.json, CICEE will read NPM's package.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 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 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.12.0 166 6/11/2024
1.11.0 1,846 11/22/2023
1.10.0 1,965 8/9/2023
1.9.1 1,904 3/21/2023
1.9.0 2,358 1/2/2023
1.9.0-build-20221224-034517... 1,284 12/24/2022
1.8.0 2,622 12/6/2022
1.7.0 1,305 12/4/2022
1.6.1 1,700 10/17/2022
1.6.0 1,513 10/15/2022
1.5.3 1,536 10/14/2022
1.5.2 1,563 10/14/2022
1.5.1 1,518 10/2/2022
1.5.0 1,485 10/1/2022
1.4.0 1,469 7/9/2022
1.3.0 1,478 7/9/2022
1.3.0-build-20220708-232722... 1,048 7/8/2022
1.2.0 1,354 7/3/2022
1.1.0 1,564 6/23/2022
1.0.0 1,682 6/5/2022
0.13.0-build-20220414-05310... 1,088 4/14/2022
0.13.0-build-20220414-05122... 1,228 4/14/2022
0.12.1 2,138 4/14/2022
0.12.0 1,664 4/3/2022
0.11.0 1,612 3/21/2022
0.10.1 1,617 2/21/2022
0.10.0 1,713 2/16/2022
0.9.1 1,617 1/21/2022
0.9.0 1,639 11/9/2021
0.8.1 1,593 10/26/2021
0.8.0 1,586 10/17/2021
0.7.0 1,825 3/27/2021
0.6.0 1,432 3/21/2021
0.5.1 1,350 3/21/2021
0.4.0 1,464 3/12/2021
0.3.0 1,556 2/24/2021
0.3.0-sha-e31b291 1,423 3/12/2021
0.2.0 1,731 2/22/2021
0.1.0 1,472 2/21/2021
0.0.0 1,591 2/16/2021
0.0.0-sha-5c0e3d1 1,956 2/11/2021
0.0.0-sha-55d39ed 2,139 2/11/2021
0.0.0-sha-54f432c 1,605 2/18/2021
0.0.0-sha-24b6124 1,998 2/11/2021
0.0.0-sha-17e2a71 1,799 2/11/2021