https://github.com/nolte/gitlab-bulkcheckout
Gitlab Bulkcheckout
https://github.com/nolte/gitlab-bulkcheckout
git-repository-manager gitlab gitlab-api
Last synced: 5 months ago
JSON representation
Gitlab Bulkcheckout
- Host: GitHub
- URL: https://github.com/nolte/gitlab-bulkcheckout
- Owner: nolte
- Archived: true
- Created: 2019-02-09T11:51:31.000Z (about 6 years ago)
- Default Branch: develop
- Last Pushed: 2020-12-25T05:17:18.000Z (over 4 years ago)
- Last Synced: 2024-11-01T14:18:43.163Z (6 months ago)
- Topics: git-repository-manager, gitlab, gitlab-api
- Language: Python
- Homepage: https://nolte.github.io/gitlab-bulkcheckout/
- Size: 265 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- jimsghstars - nolte/gitlab-bulkcheckout - Gitlab Bulkcheckout (Python)
README
# GitLab Bulk Checkout Tool
[](https://github.com/nolte/gitlab-bulkcheckout) [](https://travis-ci.org/nolte/gitlab-bulkcheckout) [](https://circleci.com/gh/nolte/gitlab-bulkcheckout) [](https://gitlab-bulkcheckout.readthedocs.io/en/stable/?badge=stable) [](https://github.com/nolte/gitlab-bulkcheckout) [](https://github.com/nolte/gitlab-bulkcheckout) [](https://www.codefactor.io/repository/github/nolte/gitlab-bulkcheckout) [](https://microbadger.com/images/nolte/gitlab-bulkcheckout) [](https://microbadger.com/images/nolte/gitlab-bulkcheckout) [](https://hub.docker.com/r/nolte/gitlab-bulkcheckout) [](https://hub.docker.com/r/nolte/gitlab-bulkcheckout) [](https://pypi.org/project/gitlab-bulkcheckout)
Simple utility written in [Python](https://www.python.org) for the local repositories.
In a Time of SaaS, IaC and micro services, it can happen that you need many small repositories at your local Machine for Development, it is terrible to pull so many repositories.## Features
- sort gitlab groups to your local folders
- append a prefix to local copy, configurable by pulled Repository group from GitLab
- pull changes from origin## Python
**Supported Python:**
[](https://pypi.org/project/gitlab-bulkcheckout)**Current Version:**
[](https://pypi.org/project/gitlab-bulkcheckout)### venv (Virtual Python Environment)
For easy usage and better dependency handling use a
[python-virtualenv](https://docs.python.org/3/tutorial/venv.html).``` bash
virtualenv ~/venvs/gitlab-bulkcheckout
source ~/venvs/gitlab-bulkcheckout/bin/activate
```### Install
For install the application from [pypi.org](https://pypi.org) use
[pip](https://pip.pypa.io/en/stable/).``` bash
pip install gitlab-bulkcheckout
```### Build
``` bash
virtualenv ~/venvs/gitlab-bulkcheckout-dev
source ~/venvs/gitlab-bulkcheckout-dev/bin/activate
pip install tox
tox
```The tox script create a installable dist under ``./.tox/dist/*.tar.gz``
## Docker
For easy usage, the tool can be wrapped with docker, so you don`t need a local python env for using.
### Build
```bash
docker build -t nolte/gitlab-bulkcheckout .
```### Usage
```bash
docker run -it \
--user=${UID}:$(id -g $(whoami)) \
-v $SSH_AUTH_SOCK:/ssh-agent \
-e SSH_AUTH_SOCK=/ssh-agent \
-e GROUPS_MAPPINGS=/app/gitlab_groupMapping.yml \
-e GITLAB_TOKEN=$(pass /internet/gitlab.com/tokens/management) \
-e PROJECTS_BASE=/tmp/bulkcheckout \
-w /tmp/bulkcheckout \
-v /tmp/bulkcheckout:/tmp/bulkcheckout \
-v ${HOME}/.ssh:/home/builder/.ssh:ro \
-v ${PWD}/gitlab_groupMapping.yml:/app/gitlab_groupMapping.yml:ro \
nolte/gitlab-bulkcheckout -v checkoutbulk
```