Support #3730
closedTTCN3 BTS real HW: create jenkins job to build and push ttcn3-bts-test docker image
100%
Description
Right now, jenkins job https://jenkins.osmocom.org/jenkins/job/osmo-gsm-tester_gerrit/ calls osmo-gsm-tester.git/ttcn3/jenkins-run.sh which runs the ttcn3-bts-test container:
prepare_docker() { OLDPWD=$PWD # update docker-playground and update the BSC and bsc-test containers (if needed) DIR=~/jenkins/docker-playground if [ ! -d "$DIR" ]; then mkdir -p ~/jenkins/ && cd ~/jenkins git clone git://git.osmocom.org/docker-playground fi cd $DIR git remote prune origin; git fetch; git checkout -f -B master origin/master cd $DIR/debian-stretch-titan && make docker pull laforge/debian-stretch-titan:latest # HACK cd $DIR/ttcn3-bts-test && make # execute the script to start containers, read results, ... #cd $DIR/ttcn3-bts-test && sh -x ./jenkins.sh PWD=$OLDPWD }
However, so far I have being building and pushing the image to the docker repository manually. Since we usually introduce new tests and fixes, we need to have that done manually by some jenkins job.
These are the steps required to build it:
docker login -u "$MYUSER" registry.sysmocom.de # only once required cd docker-playground.git/ttcn3-bts-test docker build -t registry.sysmocom.de/ttcn3-bts-test . docker push registry.sysmocom.de/ttcn3-bts-test
I have the credentials (user+password) to build it which can be applied to a jenkins node, but I'm unsure how to proceed to do this set up.
Which node should I use? How do I apply the credentials? I guess we don't want to run the "docker login" adding the credentials in some public place, rather do it once manually in the designated jenkins node. Are we pushing similar TTCN3 docker containers somewhere? how do we build and push them?