
Security News
NIST Under Federal Audit for NVD Processing Backlog and Delays
As vulnerability data bottlenecks grow, the federal government is formally investigating NIST’s handling of the National Vulnerability Database.
gitlab-project-export
Advanced tools
Simple python project for exporting gitlab projects with Export Project feature in GitLab API.
Simple python project for exporting gitlab projects with Export Project feature in GitLab API.
Primary used for remote backup of projects in GitLab.com to private storage server.
Code was modified to work with Python3, not longer compatible with Python2.
Simply install via pip:
pip install gitlab-project-export
or
pip install git+https://github.com/rvojcik/gitlab-project-export
or clone the project and install manually:
git clone https://github.com/rvojcik/gitlab-project-export
cd gitlab-project-export/
sudo python3 setup.py install
or use it without installing to your environment (install only requirements):
git clone https://github.com/rvojcik/gitlab-project-export
cd gitlab-project-export/
pip install -f requirements.txt
Prepare and edit your config file
mv config.yaml-example config.yaml
Simply run the script with optional config parameter
./gitlab-project-export.py -c /path/to/config.yaml
System uses simple yaml file as configuration.
Example below
gitlab: - gitlab configuration
access:
gitlab_url: "https://gitlab.com" - Gitlab url, official or your instance
token: "MY_PERSONAL_SECRET_TOKEN" - personal access token
projects: - list of projects to export
- rvojcik/example-project
backup: - backup configuration
project_dirs: True - store projects in separate directories
destination: "/data/backup" - base backup dir
backup_name: "gitlab-com-{PROJECT_NAME}-{TIME}.tar.gz" - backup file template
backup_time_format: "%Y%m%d" - TIME tamplate, use whatever compatible with
python datetime - date.strftime()
Create cron file in /etc/cron.d/gitlab-backup
With following content
MAILTO=your_email@here.tld
0 1 * * * root /path/to/cloned-repo/gitlab-project-export.py -c /etc/gitlab-export/config.yaml
First create two config files
config1.yaml for exporting our project from gitlab.com
gitlab: - gitlab configuration
access:
gitlab_url: "https://gitlab.com" - Gitlab url, official or your instance
token: "MY_PERSONAL_SECRET_TOKEN" - personal access token
projects: - list of projects to export
- rvojcik/project1
- rvojcik/project2
backup: - backup configuration
project_dirs: False - store projects in separate directories
destination: "/data/export-dir" - base backup dir
backup_name: "gitlab-com-{PROJECT_NAME}-{TIME}.tar.gz" - backup file template
backup_time_format: "%Y%m%d" - TIME tamplate, use whatever compatible with
python datetime - date.strftime()
and config2.yaml where we need only gitlab access part for importing projects to private gitlab instance
gitlab: - gitlab configuration
access:
gitlab_url: "https://gitlab.privatedomain.tld" - Gitlab url, official or your instance
token: "MY_PERSONAL_SECRET_TOKEN" - personal access token
Now it's time to export our projects
./gitlab-project-export.py -c ./config1.yaml -d
Your projects are now exported in /data/export-dir
After that we use gitlab-project-import.py
with config2.yaml for importing into our pricate gitlab instance.
./gitlab-project-import.py -c ./config2.yaml -f ./gitlab-com-rvojcik-project1-20181224.tar.gz -p "rvojcik/project1"
./gitlab-project-import.py -c ./config2.yaml -f ./gitlab-com-rvojcik-project2-20181224.tar.gz -p "rvojcik/project2"
Done ;)
FAQs
Simple python project for exporting gitlab projects with Export Project feature in GitLab API.
We found that gitlab-project-export demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
As vulnerability data bottlenecks grow, the federal government is formally investigating NIST’s handling of the National Vulnerability Database.
Research
Security News
Socket’s Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.
Security News
TypeScript Native Previews offers a 10x faster Go-based compiler, now available on npm for public testing with early editor and language support.