Add CI-based build of rtmgr using multiple stages
[ric-plt/rtmgr.git] / Dockerfile
1 #==================================================================================
2 #   Copyright (c) 2019 AT&T Intellectual Property.
3 #   Copyright (c) 2019 Nokia
4 #
5 #   Licensed under the Apache License, Version 2.0 (the "License");
6 #   you may not use this file except in compliance with the License.
7 #   You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #   Unless required by applicable law or agreed to in writing, software
12 #   distributed under the License is distributed on an "AS IS" BASIS,
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #   See the License for the specific language governing permissions and
15 #   limitations under the License.
16 #==================================================================================
17
18 # The CI system creates and publishes the rtmgr Docker image
19 # from the last step in this multi-stage build and applies 
20 # a Docker tag from the string in file container-tag.yaml
21
22 FROM golang:1.12 as rtmgrbuild
23 ENV GOPATH /opt
24 RUN apt-get update \
25     && apt-get install golang-glide
26 COPY . /opt
27 RUN mkdir -p $GOPATH/bin \
28     && ln -s -f  $GOPATH/pkg $GOPATH/src \
29     && cd $GOPATH/src \
30     && glide install --strip-vendor \
31     && cd $GOPATH/cmd \
32     && go build rtmgr.go \
33     && mv $GOPATH/cmd/rtmgr $GOPATH/bin
34
35 FROM ubuntu:16.04
36 COPY --from=rtmgrbuild /opt/bin/rtmgr /
37 RUN mkdir /db && touch /db/rt.json
38 CMD /rtmgr