Neatly Prepared Mustache

    @ftw/circleci-docker
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.4 • Public • Published

    CircleCI Docker

    This package will create a Docker image for CircleCI with specific versions of Ruby, Node, and Python. Every image will also include the latest versions of Chrome and Firefox (as well as chromedriver and geckodriver).

    Installation

    This package should be installed as a dependency of the project that the image is being generated for because the version of the package is included in the tag of the image that's generated.

    $ yarn add --dev @ftw/circleci-docker
    

    Generating an Image

    Make sure Docker Desktop is installed and running first.

    $ yarn run circleci-docker build friendsoftheweb
    

    This will automatically detect the required versions of Ruby, Node, and Python (from .ruby-version, .nvmrc, and runtime.txt files) and start building Docker images.

    To see all the output from the Docker build process, run the build command with the --verbose flag:

    $ yarn run circleci-docker build --verbose friendsoftheweb
    

    If you encounter issues during the build process, try running it again with the --noCache flag:

    $ yarn run circleci-docker build --noCache friendsoftheweb
    

    Because Docker caches layers based on the content of the command that created them, some commands (such as apt-get update) won't be run again if a cached layer exists. Building with the --noCache flag will cause Docker to ignore any previously cached build layers and start from scratch, ensuring that the latest version of each dependency is installed.

    Updating the CircleCI Configuration

    Once the Docker image has been generated, you'll need to update the CircleCI configuration for the project. Here's an example of the build configuration for a project that needs Ruby, Node, Python, and PostgreSQL (not included in the generated image):

    version: 2
    
    jobs:
      build:
        parallelism: 1
        docker:
          - image: friendsoftheweb/circleci-node-python-ruby:0.0.1-10.16.0-2.7.17-2.6.5
            environment:
              PGHOST: 127.0.0.1
              PGUSER: user
              NODE_ENV: test
              RAILS_ENV: test
              RACK_ENV: test
          - image: circleci/postgres:9.6
            environment:
              POSTGRES_DB: circle_ruby_test
              POSTGRES_PASSWORD: ''
              POSTGRES_USER: ubuntu

    Keywords

    none

    Install

    npm i @ftw/circleci-docker

    DownloadsWeekly Downloads

    5

    Version

    0.0.4

    License

    MIT

    Unpacked Size

    40.6 kB

    Total Files

    26

    Last publish

    Collaborators

    • danmartens
    • joshhepworth
    • anthonymattox