Sign inSign up

darthjee/circleci_taap

By darthjee

•Updated 4 days ago

Image
0

1.3K

darthjee/circleci_taap repository overview

⁠darthjee/circleci_taap

⁠About the image

The darthjee/circleci_taap image is a CircleCI-optimized Docker image for Rails applications with an AngularJS front end that also need to plot charts. It is built on top of darthjee/circleci_taa⁠, which provides Ruby 3.3.1, Node.js, Yarn, the gems most of these Rails applications need and the AngularJS packages, and adds the danica and gnuplot gems and the gnuplot binary.

It is the CircleCI counterpart of darthjee/taap⁠, designed to run tests for these applications on circleci.com, but it is not built on top of darthjee/taap.

Its working directory is /home/circleci/project, owned by the circleci user, which is also the image's default user.

⁠What is added

On top of everything provided by darthjee/circleci_taa, this image adds:

  • danica — gem for writing mathematical formulas and plotting them
  • gnuplot — gem for driving gnuplot from Ruby
  • the gnuplot binary — installed with apt-get

⁠Pre-installed gems and pre-cached packages

The danica and gnuplot gems are installed alongside the gems (in /home/circleci/.rubygems, including the development and test groups) inherited from darthjee/circleci_taa⁠. The Node packages are not installed: they are pre-cached in the Yarn cache (/home/circleci/.cache/yarn/v6, the default cache directory for the circleci user), also inherited, and only used when a project's yarn install asks for them. See the darthjee/circleci_taa description for the lists.

Note: The JS packages pre-cached in darthjee/circleci_taa⁠ 1.7.0 were upgraded in that release: angular / angular-route are version 1.8 (a breaking upgrade from 1.4), js-cookie is version 3 (a breaking upgrade from 2) and jquery is version 3.7. See the darthjee/circleci_taa description for the details and the migration links.

⁠How to use

This image is intended to be used in CircleCI pipelines of Rails applications with an AngularJS front end (see the available tags at https://hub.docker.com/r/darthjee/circleci_taap/tags⁠).

  1. As the CircleCI job executor image, in your .circleci/config.yml:

    jobs:
      test:
        docker:
          - image: darthjee/circleci_taap:<version>
        steps:
          - checkout
          - run: bundle install
          - run: bundle exec rspec
    
  2. As a base for projects building their own CI image on top of it, in your Dockerfile:

    FROM darthjee/circleci_taap:<version>
    
    COPY --chown=circleci:circleci Gemfile Gemfile.lock /home/circleci/project/
    RUN bundle install
    

Gems already installed in the image are reused when your Gemfile.lock asks for the same versions; only the project's other gems are installed.

⁠License

See the LICENSE file for more information.

Tag summary

Content type

Image

Digest

sha256:57f8c60a5…

Size

1021.8 MB

Last updated

4 days ago

docker pull darthjee/circleci_taap