...
Line 36-41: set up the second container for running the E2 Manager executable.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
FROM nexus3.o-ran-sc.org:10004/bldr-ubuntu16-c-go:2-u16.04-nng as ubuntu WORKDIR /opt/E2Manager COPY . . ENV PATH=$PATH:/usr/local/go/bin:/usr/lib/go-1.12/bin # Install RMr library and dev files RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_1.10.0_amd64.deb/download.deb RUN dpkg -i rmr_1.10.0_amd64.deb RUN wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr-dev_1.10.0_amd64.deb/download.deb RUN dpkg -i rmr-dev_1.10.0_amd64.deb RUN cd asn1codec && make RUN go build app/main.go # Execute UT ENV LD_LIBRARY_PATH=/usr/local/lib ENV GODEBUG=cgocheck=2,clobberfree=1,gcstoptheworld=2,allocfreetrace=0 ENV RIC_ID="bbbccc-abcd0e/20" RUN go test ./... FROM ubuntu:16.04 RUN apt-get update && apt-get install -y \ net-tools \ iputils-ping \ curl \ tcpdump COPY --from=ubuntu /opt/E2Manager/router.txt /opt/E2Manager/router.txt COPY --from=ubuntu /opt/E2Manager/main /opt/E2Manager/main COPY --from=ubuntu /opt/E2Manager/resources /opt/E2Manager/resources COPY --from=ubuntu /usr/local/lib/librmr_nng.so.1 /usr/local/lib/librmr_nng.so.1 COPY --from=ubuntu /usr/local/lib/libnng.so.1 /usr/local/lib/libnng.so.1 WORKDIR /opt/E2Manager ENV LD_LIBRARY_PATH=/usr/local/lib \ port=3800 ENV RMR_SEED_RT=router.txt EXPOSE 3800 CMD ["sh", "-c", "./main -port=$port"] |
...
- Add Dockerfile and necessary scripts that completes complete the building of artifacts; test it locally, submit and merge the change;
- Create a new yaml file to the ci-management repo at jjb/{{transformed_repo_name}}/{{transformed_repo_name}}.yaml, where the "transformation" is to replace '/' by '-', by copying from a similar repo; modify the file; submit the change to Gerrit for ci-management committers for review.
- There is a Jenkins SandBox that can be used for testing JJB definition before submitting to Gerrit for reviewing. Detailed documentation for how to use the sandbox can be found here: https://docs.releng.linuxfoundation.org/en/latest/jenkins-sandbox.html
- Once the ci-management change is merged, find the newly defined jobs appearing at http://jenkins.o-ran-sc.org under the {{transformed_repo_name}} tab. This is job definition. No build job will start until they are triggered. The jobs will start You will not likely see the jobs actually started because they will only tart when one of the Gerrit or timestamp trigger is activated.
...