cicee 1.9.1

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global cicee --version 1.9.1                
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.9.1                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=cicee&version=1.9.1                
nuke :add-package cicee --version 1.9.1                

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 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 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 2,349 6/11/2024
1.11.0 2,065 11/22/2023
1.10.0 2,007 8/9/2023
1.9.1 1,943 3/21/2023
1.9.0 2,409 1/2/2023
1.9.0-build-20221224-034517... 1,315 12/24/2022
1.8.0 2,664 12/6/2022
1.7.0 1,348 12/4/2022
1.6.1 1,729 10/17/2022
1.6.0 1,542 10/15/2022
1.5.3 1,565 10/14/2022
1.5.2 1,598 10/14/2022
1.5.1 1,542 10/2/2022
1.5.0 1,516 10/1/2022
1.4.0 1,500 7/9/2022
1.3.0 1,509 7/9/2022
1.3.0-build-20220708-232722... 1,084 7/8/2022
1.2.0 1,386 7/3/2022
1.1.0 1,595 6/23/2022
1.0.0 1,717 6/5/2022
0.13.0-build-20220414-05310... 1,118 4/14/2022
0.13.0-build-20220414-05122... 1,272 4/14/2022
0.12.1 2,179 4/14/2022
0.12.0 1,700 4/3/2022
0.11.0 1,645 3/21/2022
0.10.1 1,648 2/21/2022
0.10.0 1,752 2/16/2022
0.9.1 1,662 1/21/2022
0.9.0 1,669 11/9/2021
0.8.1 1,623 10/26/2021
0.8.0 1,621 10/17/2021
0.7.0 1,855 3/27/2021
0.6.0 1,470 3/21/2021
0.5.1 1,380 3/21/2021
0.4.0 1,487 3/12/2021
0.3.0 1,589 2/24/2021
0.3.0-sha-e31b291 1,451 3/12/2021
0.2.0 1,761 2/22/2021
0.1.0 1,500 2/21/2021
0.0.0 1,622 2/16/2021 0.0.0 is deprecated.
0.0.0-sha-5c0e3d1 1,987 2/11/2021 0.0.0-sha-5c0e3d1 is deprecated.
0.0.0-sha-55d39ed 2,170 2/11/2021 0.0.0-sha-55d39ed is deprecated.
0.0.0-sha-54f432c 1,628 2/18/2021 0.0.0-sha-54f432c is deprecated.
0.0.0-sha-24b6124 2,029 2/11/2021 0.0.0-sha-24b6124 is deprecated.
0.0.0-sha-17e2a71 1,826 2/11/2021