1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/bootstrap/READMD.md
Joe Guo d6f6eb4f25 bootstrap/README.md: add README.md
Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-02-21 04:09:20 +01:00

72 lines
1.7 KiB
Markdown

# Samba Bootstrap
A pure python3 module with CLI to bootstrap Samba envs for multiple distributions.
## Features
- manage Samba dependencies list for multiple distributions
- render dependencies package list to boostrap shell scripts(apt, yum and dnf)
- render Vagrantfile to provision vitual machines with bootstrap scripts
- render Dockerfile to build docker images with bootstrap scripts
- build/tag/push docker images
## Supported Distributions
deb: Debian 7|8|9, Ubuntu 1404|1604|1804
rpm: CentOS 6|7, Fedora 28|29
Easy to add more.
## Usage
Render files:
./template.py --render
By default, files are rendered into `files` directory in current dir.
Build docker images:
./docker.py --build
Tag docker images:
./docker.py --tag --prefix registry.gitlab.com/samba-team/samba
Push docker images(you need to have permission):
docker login
./docker.py --push --prefix registry.gitlab.com/samba-team/samba
the prefix defaults to `registry.gitlab.com/samba-team/samba`, and you can
override it with env var `SAMBA_DOCKER_IMAGE_NAME_PREFIX`.
## User Stories
As a gitlab-ci maintainer, I can use this tool to build the CI docker images.
I can also automate it.
As a Samba developer/tester, I can setup a Samba env very quickly.
With Docker:
cd ~/samba
git clean -xdf
docker run -it -v $(pwd):/home/samba/samba samba-ubuntu1604:latest bash
With Vagrant:
cd ./files/
vagrant up # start all
vagrant up debian9 # start one
vagrant ssh debian9
vagrant destroy debian9 # destroy one
vagrant destroy # destroy all
Or a remote/cloud machine:
scp ./files/fedora29/bootstrap.sh USER@IP:
ssh USER@IP
sudo bash ./bootstrap.sh