mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
bootstrap/READMD.md: update the instructions to reflect the current code
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
This commit is contained in:
parent
c36c1022f0
commit
09cd51780f
@ -13,7 +13,7 @@ A pure python3 module with CLI to bootstrap Samba envs for multiple distribution
|
||||
## Supported Distributions
|
||||
|
||||
deb: Debian 7|8|9, Ubuntu 1404|1604|1804
|
||||
rpm: CentOS 6|7, Fedora 28|29
|
||||
rpm: CentOS 6|7, Fedora 28|29, openSUSE Leap 15.0
|
||||
|
||||
Easy to add more.
|
||||
|
||||
@ -21,51 +21,80 @@ Easy to add more.
|
||||
|
||||
Render files:
|
||||
|
||||
./template.py --render
|
||||
bootstrap/template.py --render
|
||||
|
||||
By default, files are rendered into `files` directory in current dir.
|
||||
Files are rendered into `bootstrap/generated-dists` directory in current dir.
|
||||
It also generates bootstrap/sha1sum.txt and prints out the sha1sum of the
|
||||
current code/configuration.
|
||||
|
||||
Build docker images:
|
||||
Just calculate the sha1sum for consistency checks:
|
||||
|
||||
./docker.py --build
|
||||
bootstrap/template.py --sha1sum
|
||||
|
||||
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`.
|
||||
The checksum needs to be added as `SAMBA_CI_CONTAINER_TAG` in
|
||||
the toplevel .gitlab-ci.yml file.
|
||||
|
||||
## 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 gitlab-ci user, I can use this tool to build new CI docker images:
|
||||
|
||||
After committing the result of calling `bootstrap/template.py --render`
|
||||
and updating `SAMBA_CI_CONTAINER_TAG` in .gitlab-ci.yml, you can push
|
||||
The branch to git@gitlab.com:samba-team/devel/samba.git using:
|
||||
|
||||
git push -o ci.skip git@gitlab.com:samba-team/devel/samba.git ...
|
||||
|
||||
The `-o ci.skip` option means gitlab won't start a pipeline
|
||||
for the just pushed branch.
|
||||
|
||||
Instead you would start a custom pipeline at:
|
||||
|
||||
https://gitlab.com/samba-team/devel/samba/pipelines/new
|
||||
|
||||
But you need to pass `SAMBA_CI_REBUILD_IMAGES=yes` as environment
|
||||
variable. It means the pipeline runs the 'images' stage and builds
|
||||
the new container images for all supported distributions and
|
||||
uploads the images into the registry.gitlab.com/samba-team/devel/samba
|
||||
container registry.
|
||||
|
||||
If you want to try to build images for the (currently) broken
|
||||
distributions, you would pass `SAMBA_CI_REBUILD_BROKEN_IMAGES=yes`
|
||||
in addition to the custom pipeline. Note the images for
|
||||
the broken distributions are just build, but not uploaded
|
||||
to the container registry. And any failures in the image
|
||||
creation is ignored. Once you managed to get success, you should
|
||||
move from `.build_image_template_force_broken` to `.build_image_template`.
|
||||
And also add a `.samba-o3-template` job for the new image
|
||||
in the main .gitlab-ci.yml file.
|
||||
|
||||
Over time we'll get a lot of images pushed to the container registry.
|
||||
The approach we're using allows gitlab project maintainers to
|
||||
remove old images! But it is possible to regenerate the images
|
||||
if you have the need to run a gitlab ci pipeline based on an
|
||||
older branch.
|
||||
|
||||
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
|
||||
cd ~/samba
|
||||
git clean -xdf
|
||||
docker login
|
||||
docker pull registry.gitlab.com/samba-team/devel/samba/samba-ci-ubuntu1804:${sha1sum}
|
||||
docker run -it -v $(pwd):/home/samba/samba samba-ci-ubuntu1804:${sha1sum} 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
|
||||
cd bootstrap/generated-dists/
|
||||
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
|
||||
scp bootstrap/generated-dists/fedora29/bootstrap.sh USER@IP:
|
||||
ssh USER@IP
|
||||
sudo bash ./bootstrap.sh
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user