{"id":15136919,"url":"https://gitlab.com/bproto/cicd","last_synced_at":"2025-10-23T11:31:59.160Z","repository":{"id":62459231,"uuid":"40699270","full_name":"bproto/cicd","owner":"bproto","description":"","archived":false,"fork":false,"pushed_at":null,"size":null,"stargazers_count":5,"open_issues_count":13,"forks_count":2,"subscribers_count":null,"default_branch":"main","last_synced_at":"2025-01-30T18:38:07.958Z","etag":null,"topics":["C++","CentOS 7","CppCheck","Gitlab CICD","bash","clang-format","clang-tidy","cmake","conan","docker","dockerfile","hadolint","linux","powershell","python","shellcheck","shfmt","sphinx","sphinx-doc","ubuntu","windows","yamllint"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://gitlab.com/uploads/-/system/project/avatar/40699270/5968853.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-01T22:38:41.446Z","updated_at":"2024-06-22T19:12:40.401Z","dependencies_parsed_at":"2022-11-02T00:45:32.263Z","dependency_job_id":null,"html_url":"https://gitlab.com/bproto/cicd","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/bproto%2Fcicd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/bproto%2Fcicd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/bproto%2Fcicd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/bproto%2Fcicd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/bproto","download_url":"https://gitlab.com/bproto/cicd/-/archive/main/cicd-main.zip","host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","repositories_count":4517592,"owners_count":6739,"icon_url":"https://github.com/gitlab.png","version":null,"created_at":"2022-05-30T11:31:42.605Z","updated_at":"2024-07-18T11:24:13.055Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners"}},"keywords":["C++","CentOS 7","CppCheck","Gitlab CICD","bash","clang-format","clang-tidy","cmake","conan","docker","dockerfile","hadolint","linux","powershell","python","shellcheck","shfmt","sphinx","sphinx-doc","ubuntu","windows","yamllint"],"created_at":"2024-09-26T06:41:47.314Z","updated_at":"2025-10-23T11:31:58.084Z","avatar_url":"https://gitlab.com/uploads/-/system/project/avatar/40699270/5968853.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab Common CI/CD Tools\n\n[fork]: https://docs.gitlab.com/ee/user/project/repository/forking_workflow.html\n\n**GitLab Common CI/CD Tools** (**GitLab 3CT** for short) provides a [GitLab CI/CD](https://docs.gitlab.com/ee/ci) solution that helps to control the quality of mainly C++ and Python codebases and their surrounding infrastructure.\n\nWhile the driving force of this module is to reduce duplication of CI/CD configurations and scripts across projects developed by me ([Bytes Mess](https://gitlab.com/b110011)), it is intended to be useful for any software that wants to utilize GitLab CI/CD to some degree.\n\nThis module also may serve as a useful reference for setting up a GitLab CI/CD using good practices.\n\n**Table of contents** (generated with [markdown-toc](http://ecotrust-canada.github.io/markdown-toc/))\n\n- [Usage](#usage)\n  - [CI/CD templates](#cicd-templates)\n  - [Forks](#forks)\n- [License](#license)\n\n## Usage\n\nBy design this project is intended to be used as a [CI/CD template](https://docs.gitlab.com/ee/ci/examples/index.html) in most of the cases.\nHowever due to some limitations it might be [forked][fork] to bring some changes and then to be used as your own CI/CD template.\nBoth ways will be covered in-deep down on this page.\n\n### CI/CD templates\n\nThis project provides a bunch of useful [GitLab CI/CD pipelines](https://docs.gitlab.com/ee/ci/pipelines/index.html) for different programming languages and frameworks.\nBelow is a nice list of all available pipelines:\n\n[conan-tmpl]: .gitlab/ci/external/conan.yml\n[cpp-tmpl]: .gitlab/ci/external/cpp.yml\n[hugo-tmpl]: .gitlab/ci/external/hugo.yml\n[lite-tmpl]: .gitlab/ci/external/conan.yml\n[sphinx-tmpl]: .gitlab/ci/external/sphinx.yml\n\n- **Documentation**\n  - Hugo ([.gitlab/ci/external/hugo.yml][hugo-tmpl])\n  - Sphinx ([.gitlab/ci/external/sphinx.yml][sphinx-tmpl])\n- **Languages**\n  - C++ ([.gitlab/ci/external/cpp.yml][cpp-tmpl])\n  - CMake ([.gitlab/ci/external/lite.yml][lite-tmpl])\n  - Docker ([.gitlab/ci/external/lite.yml][lite-tmpl])\n  - Linux shell ([.gitlab/ci/external/lite.yml][lite-tmpl])\n  - Python ([.gitlab/ci/external/lite.yml][lite-tmpl])\n  - YAML ([.gitlab/ci/external/lite.yml][lite-tmpl])\n- **Packages**\n  - Conan ([.gitlab/ci/external/conan.yml][conan-tmpl])\n\nYou can start using those pipelines by including one of them as shown below:\n\n```yaml\ninclude:\n  - project: 'bproto/cicd'\n    ref: main\n    file:\n      - '/.gitlab/ci/external/lite.yml'\n```\n\nYou also need to define below [CI/CD variables](https://docs.gitlab.com/ee/ci/variables) in your [group](https://docs.gitlab.com/ee/ci/variables/#for-a-group) or [project](https://docs.gitlab.com/ee/ci/variables/#for-a-project) CI/CD settings.\n\n| Type     | Key                       | Value                                  | Protected | Masked  | Environments |\n| ---      | ---                       | ---                                    | ---       | ---     | ---          |\n| Variable | BPROTO_CI_IMAGES_REGISTRY | `registry.gitlab.com/bproto/artifacts` | no        | no      | All          |\n\nNow you are ready to go!\n\n[overview]: https://bproto.gitlab.io/cicd/overview/index.html\n[overview-stages]: https://bproto.gitlab.io/cicd/overview/stages.html\n[overview-workflow]: https://bproto.gitlab.io/cicd/overview/workflow.html\n\n\u003e To have a better understanding of pipelines implementation, you might also consider looking at an [overview][overview] of different aspects of pipelines, such as a list of implemented [stages][overview-stages] and how the [workflow][overview-workflow] was designed.\n\n### Forks\n\n[forking]: https://bproto.gitlab.io/cicd/fork.html\n\nIf you think, you need to fork this project and adjust it to your personal needs, please consider taking a look at [this documentation page][forking].\n\n## License\n\nAll code is licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fbproto%2Fcicd","html_url":"https://awesome.ecosyste.ms/projects/gitlab.com%2Fbproto%2Fcicd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fbproto%2Fcicd/lists"}