openmamba-docker-buildvm/README.md

83 lines
2.5 KiB
Markdown

# docker image for openmamba buildvm
This project provides a `Dockerfile` and related files which can be easily used to create a Docker image and
container set up with `autodist` and `webbuild` with the purpose to maintain and build openmamba `RPM` packages.
The project can be used on any O.S. with `docker` installed and supporting one of the following platforms:
* `linux/amd64` (`x86_64`)
* `linux/arm64` (`aarch64`)
* `linux/386` (`i586`)
## Installation
Create image with:
`docker build -t buildvm .`
Create and start a new container with:
`docker run --name buildvm -d -p 80:80 buildvm`
A different name and local port mapping may be used as needed.
### Container management
Stop with:
`docker stop buildvm`
Restart with:
`docker start buildvm`
## Usage
### Webbuild web interface
With a browser access the `webbuild` interface at:
`http://localhost`
To access from another host you may replace `localhost` with the container host (remember to check that exposed port is open in firewall).
Login with the following credentials:
* Username: `autodist`
* Password: `openmamba`
Remote host and different port mapping may be used as needed.
Spawn a shell into the running container with:
`docker exec -it --user root buildvm /bin/bash`
Or as `autodist` user:
`docker exec -it --user autodist buildvm /bin/bash`
### Autoport cron job
autoport is specifically intented for openmamba maintainer to port packages to required architectures.
The involced configuration is file:
`/etc/sysconfig/autoport`
Autoport needs to be globally enabled with setting:
`AUTOPORT_ENABLE=1`
Port configurations are defined in the same file inside array variables, in this example we use
the first configuration with array index of `0`:
`AUTOPORT_ARCH[0]=aarch64
AUTOPORT_DISABLE[0]=
AUTOPORT_CHROOT_USER[0]=autodist
AUTOPORT_NATIVE[0]=1
AUTOPORT_REPOSITORIES[0]="devel-makedist devel-kernel devel-autodist devel-misc"
AUTOPORT_PORT_REPOSITORY[0]="#SELF"
AUTOPORT_BASE_REPOSITORY[0]="devel-autodist"
AUTOPORT_IMPORT_REPOSITORIES[0]="$AUTOPORT_DEVEL_IMPORT_REPOSITORIES"`
The command to run autoport batch process for configuration with index `0` is:
`docker exec -it buildvm /usr/bin/autoport-launcher 0`
Maintainer wants to add autoport as a cron job.
To do this you may set the cron job on the docker **host** by running `crontab -e` and adding the line:
`0 * * * * docker exec buildvm /usr/bin/autoport-launcher 0 2>&1 | logger -t autoport0`
You may see a resume of port processes by opening the page:
`http://localhost/autobuilds.html`