cicee 1.1.0

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

cicee init repository

This adds:

  • 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.
(Optional Alternative) Include CICEE Shell Library

CICEE's core runtime ability is cicee exec: executing a specified Docker entrypoint and command within the continuous integration containerized execution environment. However, that requires a cicee installation.

By installing the CICEE shell library, the same cicee exec process can be performed without installing cicee. For example, on a continuous integration build server.

Execute this alternative cicee init repository command, which uses the --ci-lib option to include the CICEE CI library.

cicee init repository --ci-lib

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.

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 template init). 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.13.0 4 11/24/2024
1.12.0 2,396 6/11/2024
1.11.0 2,066 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