{"id":24512962,"url":"https://github.com/avenga/dockerfiles","last_synced_at":"2025-04-14T08:43:46.223Z","repository":{"id":40409189,"uuid":"132870237","full_name":"avenga/dockerfiles","owner":"avenga","description":"Avenga Dockerfiles 🐳","archived":false,"fork":false,"pushed_at":"2022-05-10T11:50:59.000Z","size":247,"stargazers_count":9,"open_issues_count":13,"forks_count":3,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-27T22:21:59.113Z","etag":null,"topics":["avenga","docker","dockerfiles"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avenga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-10T08:17:28.000Z","updated_at":"2023-07-13T15:31:53.000Z","dependencies_parsed_at":"2022-08-09T19:40:14.210Z","dependency_job_id":null,"html_url":"https://github.com/avenga/dockerfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avenga%2Fdockerfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avenga%2Fdockerfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avenga%2Fdockerfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avenga%2Fdockerfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avenga","download_url":"https://codeload.github.com/avenga/dockerfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248850188,"owners_count":21171712,"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":["avenga","docker","dockerfiles"],"created_at":"2025-01-22T00:52:20.102Z","updated_at":"2025-04-14T08:43:46.201Z","avatar_url":"https://github.com/avenga.png","language":"PHP","readme":"# Avenga dockerfiles\n\n[![Build Status](https://travis-ci.com/avenga/dockerfiles.svg?branch=master)](https://travis-ci.com/avenga/dockerfiles)\n\nPublic Avenga dockerfiles intended to serve as base images for our projects.\n\nOpinionated conventions and best practices:\n- use docker in docker itself to make sure to use the same docker version when building and pushing\n- only build and push images that changed; based on [specific git diff command][0]\n\n## Images\n\n* [avenga/docker]: Base image for all docker related tasks.\n* [avenga/docker-build]: Build docker images inside docker.\n* [avenga/docker-push]: Push docker images to any registry.\n* [avenga/gitlab-job]: Execute jobs in the Gitlab runner.\n* [avenga/gitlab-runner]: A gitlab-runner with automatic registration.\n* [avenga/httpd-static]: Simple http server for static files.\n* [avenga/kubectl]: Kubectl in a container.\n* [avenga/net-tools]: Image with networking tools.\n* [avenga/nodejs-javascript-app]: Opinionated docker image to run production-ready\n  nodejs apps written in javascript.\n* [avenga/nodejs-javascript-builder]: Opinionated docker image to build nodejs\n  apps written in javascript.\n* [avenga/nodejs-runner]: Opinionated docker image to act as nodejs runtime only.\n* [avenga/rancher-deployment]: Run a deployment to [Rancher][1] via generated\n  `docker-compose.yml` and `rancher-compose.yml` files.\n* [avenga/sloppy]: Provides the Slopp.io CLI in a container\n* [avenga/sloppy-deployment]: Run a Sloppy.io deployment with the help of template\n  configuration and environment variables.\n* [avenga/sloppy-rollout]: Enhances `avenga/sloppy-deployment`. Plain JSON/YAML\n  files can be deployed too.\n* [avenga/wordpress]: Wordpress image with some extras.\n\n## Build\n\nBuild all docker images that changed:\n```bash\nmake build\n```\n\nBuild specific docker images:\n```bash\nmake build -e IMAGES=\"wordpress\"\n```\n\n## Push\n\nPush all docker images that changed:\n```bash\nmake push\n```\n\nPush specific docker images:\n```bash\nmake push -e IMAGES=\"wordpress\"\n```\n\n## Test\n\nAll tests are\n[bats](https://github.com/bats-core/bats-core)-tests. They reside in a directory\ninside the image direcotry named `tests/`. There can be two types of\ntests. Pure Bats-tests or a Bash script called `test.sh`.\n\n### `test.sh`\n\nIf a script called `test.sh` resides inside `\u003cimagename\u003e/tests` it is executed.\n`test.sh` is necessary when some preparations have to be made to run the Bats\ntests. Thus first all preparations are run and then the Bats tests.\nIf there are any Bats tests they won't be executed by the test itself. Exceution\nmust be done inside `test.sh`.\n\nOne example is an image which delivers a networked service like a HTTP-server.\nThis server is tested via HTTP. Thus a functioning network is necessary and the\nprep-code takes care of this. The tests of the Wordpress image leverage this.\n\n### Bats tests\n\nAll Bats files under `\u003cimagename\u003e/tests` are executed.\n\n## Development\n\n* Branches are always created from the master\n* Branch naming: `\u003cimage\u003e/\u003cshort description of the change\u003e`\n* PRs have the same name as the branch\n* per PR ony small changes\n\n0. update master\n1. create a branch from master\n2. make your changes\n3. build and test your changes\n4. commit, push and create PR\n5. Review required\n\n\n\n[0]: https://github.com/avenga/dockerfiles/blob/74ece293784680f18c89d4955a0881f93fd791f6/docker-build/run.sh#L8\n[avenga/docker]: https://cloud.docker.com/u/avenga/repository/docker/avenga/docker\n[avenga/docker-build]: https://cloud.docker.com/u/avenga/repository/docker/avenga/docker-build\n[avenga/docker-push]: https://cloud.docker.com/u/avenga/repository/docker/avenga/docker-push\n[avenga/gitlab-job]: https://cloud.docker.com/u/avenga/repository/docker/avenga/gitlab-job\n[avenga/gitlab-runner]: https://cloud.docker.com/u/avenga/repository/docker/avenga/gitlab-runner\n[avenga/httpd-static]: https://cloud.docker.com/u/avenga/repository/docker/avenga/httpd-static\n[avenga/kubectl]: https://cloud.docker.com/u/avenga/repository/docker/avenga/kubectl\n[avenga/nodejs-javascript-app]: https://cloud.docker.com/u/avenga/repository/docker/avenga/nodejs-javascript-app\n[avenga/nodejs-javascript-builder]: https://cloud.docker.com/u/avenga/repository/docker/avenga/nodejs-javascript-builder\n[avenga/nodejs-runner]: https://cloud.docker.com/u/avenga/repository/docker/avenga/nodejs-runner\n[avenga/rancher-deployment]: https://cloud.docker.com/u/avenga/repository/docker/avenga/rancher-deployment\n[avenga/sloppy]: https://cloud.docker.com/u/avenga/repository/docker/avenga/sloppy\n[avenga/sloppy-deployment]: https://cloud.docker.com/u/avenga/repository/docker/avenga/sloppy-deployment\n[avenga/wordpress]: https://cloud.docker.com/u/avenga/repository/docker/avenga/wordpress\n[avenga/sloppy-rollout]: https://cloud.docker.com/u/avenga/repository/docker/avenga/sloppy-rollout\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favenga%2Fdockerfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favenga%2Fdockerfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favenga%2Fdockerfiles/lists"}