{"id":20364105,"url":"https://github.com/ekino/docker-buildbox","last_synced_at":"2025-04-05T03:11:13.843Z","repository":{"id":38375075,"uuid":"51582788","full_name":"ekino/docker-buildbox","owner":"ekino","description":"Docker images for GitLab CI's jobs","archived":false,"fork":false,"pushed_at":"2025-03-28T10:31:12.000Z","size":2736,"stargazers_count":56,"open_issues_count":6,"forks_count":64,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-03-29T02:07:46.300Z","etag":null,"topics":["build","docker"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/search/?q=ekino%2Fci-\u0026type=image","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekino.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-12T11:12:10.000Z","updated_at":"2025-03-28T10:31:08.000Z","dependencies_parsed_at":"2023-10-03T16:38:32.253Z","dependency_job_id":"15692923-e048-473d-b96e-c9235fde98cf","html_url":"https://github.com/ekino/docker-buildbox","commit_stats":null,"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekino%2Fdocker-buildbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekino%2Fdocker-buildbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekino%2Fdocker-buildbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekino%2Fdocker-buildbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekino","download_url":"https://codeload.github.com/ekino/docker-buildbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280272,"owners_count":20912967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","docker"],"created_at":"2024-11-15T00:09:49.430Z","updated_at":"2025-04-05T03:11:13.818Z","avatar_url":"https://github.com/ekino.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/ekino/docker-buildbox/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/ekino/docker-buildbox/actions?query=branch%3Amaster)\n\n# BuildBox\n\nThe repository provides a complete set of build tools for web developers. **These\nimages MUST NOT be used in production**. The targeted usage of those images is GitlabCI.\n\n## Versions\n\nPlease review the [CHANGELOG.md](CHANGELOG.md) file for versions per tag.\n\n## Testing\n\nEach box is tested and built using GitHub Actions.\n\nCI workflow:\n - PR: only images with modified files are built.\n - Merge to master: only images with modified files are built and pushed to the docker registry with the tag `latest-IMAGE`\n - TAG: all images are built and pushed to the docker registry\n - Nightly: all images are built and pushed to the docker registry with the tag `nightly-IMAGE`\n\n### Local testing\n\nTo contribute you will need docker, docker-buildx, python3.6 and pipenv (installed by `pip install pipenv`).\n\n- Clone the repo\n- Create your pipenv environnement\n  \u003e pipenv install\n- Load your pipenv\n  \u003e pipenv shell\n- Run the script\n  \u003e python image_builder.py build --image image --version version\n\n``` bash\n$ python image_builder.py build --help\nUsage: image_builder.py build [OPTIONS]\n\nOptions:\n  --image TEXT    image to build\n  --version TEXT  image version\n  -d, --debug     debug\n  --help          Show this message and exit.\n```\n\n``` bash\n$ python image_builder.py build --image java --version 11\n\u003e Building: ekino/ci-java:11-latest\nBuild succesfull\n\u003e Testing ekino/ci-java:11-latest\nTests successful\n```\n\n## Contribution\n\n### Commit message\nPlease follow the following pattern in your commit message `\u003ctype\u003e(\u003coptional scope\u003e): \u003cdescription\u003e`.\n`\u003ctype\u003e` can be either `chore` (for a routine/maintenance task), `fix` (for a bugfix) or `feat` (for a new feature).\n\n### Adding your image to the build box\n\nCreate a directory named after your image and corresponding Dockerfile in it. Then create a `config.yml` in the same directory according to this schema:\n\n```yaml\nversions: # List all the available versions\n  \"1.0\": # The version of your image. This must not change often, so try using major version if possible, or else minor.\n    test_config:\n      volume: ... # docker volume if needed, format: localdir:/path/to/mount\n      cmd: [...]  # shell commands run to be sure tools are well installed\n    build_args: [...]  # If ARG are defined in Dockerfile\n```\n\nDo not forget to add an entry in `.github/dependabot.yml` too if you want it to update your image.\n\n**If you want multiple Dockerfiles for one image**, you need to use subdirectories named after the version + create one dependabot rule / subdirectory for dependabot to update your base docker images correctly.\n\n**When using subdirectories**, keep in mind that the build context still is the main image folder, so COPY/ADD your files from here.\n\n**Volume mounting** for test configuration only need the directory name as full local path is build by the script.\n\n## Available images\n\n### AWS\n- https://hub.docker.com/r/ekino/ci-aws/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-aws\n\nContains AWS Cli, Terraform, Kubectl, Helm, Python \u0026 misc tools\n\n### Azure\n- https://hub.docker.com/r/ekino/ci-azure/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-azure\n\nContains Azure Cli, Terraform, Kubectl, Helm, Python \u0026 misc tools\n\n### Chrome\n- https://hub.docker.com/r/ekino/ci-chrome/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-chrome\n\nContains Chromium browser and the latest Node LTS.\n\n### Cloudsploit\n- https://hub.docker.com/r/ekino/ci-cloudsploit/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-cloudsploit\n\nContains Aquasecurity's Cloudsploit Scanner.\n\n### DIND\n- https://hub.docker.com/r/ekino/ci-dind/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-dind\n\nAdds AWS Cli \u0026 Azure Cli to GitLab's dind image (to run docker in a GitLab runner).\n\nUse case:\n```yaml\n# .gitlab-ci.yml\ntest:\n  image: ekino/ci-dind:latest\n  services:\n    - ekino/ci-dind:latest\n  variables:\n    DOCKER_TLS_CERTDIR: \"\"\n    DOCKER_DRIVER: overlay2\n    DOCKER_HOST: \"tcp://ekino__ci-dind:2375\"\n  script:\n    - docker ...\n```\n\n### Golang\n- https://hub.docker.com/r/ekino/ci-golang/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-golang\n\nBased upon official Golang image, contains AWS Cli, Gitleaks, GolangCI-Lint, go-mod-upgrade, go-swagger, go-mock, goimports, migrate, rsync and testfixtures.\n\n### Java\n- https://hub.docker.com/r/ekino/ci-java/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-java\n\nContains AWS Cli, Maven, Graphviz, jq, psql and Java.\n\n### Node\n- https://hub.docker.com/r/ekino/ci-node/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-node\n\nContains node (installed in the NODE_VERSION env var value) and AWS Cli.\n\n### Percy\n- https://hub.docker.com/r/ekino/ci-percy/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-percy\n\nContains [Percy CLI](https://docs.percy.io/docs/cli-overview), used to manage https://percy.io/\n\n### PHP\n- https://hub.docker.com/r/ekino/ci-php/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-php\n\nContains PHP (installed from official alpine in the PHP_VERSION env var value) within Blackfire, Composer, PHP CS Fixer, Security Checker and AWS Cli.\n\nAbout Blackfire, please read the official documentation to install the agent https://blackfire.io/docs/integrations/docker, then you should be able to profile a PHP script like this:\n\n```bash\ndocker exec -it -e BLACKFIRE_CLIENT_ID -e BLACKFIRE_CLIENT_TOKEN my-php-container blackfire run bin/console app:foo:bar\n```\n\n### Platform.sh CLI\n- https://hub.docker.com/r/ekino/ci-platformsh/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-platformsh\n\nBased on a python alpine image, contains platform.sh CLI.\n\n### Python\n- https://hub.docker.com/r/ekino/ci-python/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-python\n\nContains Python with PIP and PIPENV.\n\n### SonarQube Scanner\n- https://hub.docker.com/r/ekino/ci-sonar/tags\n- https://github.com/orgs/ekino/packages/container/package/ci-sonar\n\nContains SonarQube Scanner.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekino%2Fdocker-buildbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekino%2Fdocker-buildbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekino%2Fdocker-buildbox/lists"}