SAGE Edge Code Repository
Add registry.local
to docker daemon settings: (OSX -> Docker Desktop -> Preferences... -> Docker Engine)
{
"experimental": true,
"debug": true,
"insecure-registries" : ["registry.local:5002"]
}
Add registry.local
to /etc/hosts
:
sudo ./scripts/add_etc_hosts_entry.sh
Important: Note that pushing to the insecure registry using docker buildx build --push
within the Jenkins container currently does not work. A simple docker push
does work, but is not used right now as it would not support multi-arch docker images.
The test environment uses docker-compose but has to be invoked by a wrapper script:
./run.sh --build
Option -d
will deamonize the docker-compose environment.
Option --build
will build docker images first.
To stop:
./run.sh stop
Note that this test environment does not run the registry with authorization enabled. To start a registry with authorization enabled follow instructions in docker_auth
subfolder. For production deployments use the kubernetes config files.
Visit Jenkins in your browser via: http://localhost:8082
Note: After the start of Jenkins you have to login as user ecrdb
with password test
. You can skip the "Getting Started" dialogue but clicking the X
in the upper right corner. Then click on the blue button Start using Jenkins
. After that your are logged in, but that is not a requirement. Users can view the Jenkins instance without logging in.
for an existing docker-compose enviornment:
docker exec -ti sage-ecr_sage-ecr_1 /bin/ash -c 'coverage run -m pytest -v --runslow && coverage report -m'
The ECR uses buildx to build multi-arch docker images. This requires not only that docker is installed on the host, but also:
- Experimental mode for the docker CLI needs to be turned on (described above)
- QEMU installed (
apt-get install qemu qemu-user-static
) - (this is probably not needed, as it is a depdency of the packages above) binfmt, e.g.
docker run --privileged --rm tonistiigi/binfmt --install all
docker exec -ti sage-ecr_db_1 mysql -u sage -p SageECR