blob: 6bbbb5c59eedb9e327fe33d691eb6a2329b38698 [file] [log] [blame]
Balint Uveges871fa392019-04-02 20:31:11 +00001#==================================================================================
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#==================================================================================
Balint Uveges871fa392019-04-02 20:31:11 +000017
Lott, Christopher (cl778h)419d8512019-06-05 15:51:17 -040018# 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
22FROM golang:1.12 as rtmgrbuild
kalnagy92162652019-07-02 15:15:49 +020023ENV GOPATH /go
Balint Uveges871fa392019-04-02 20:31:11 +000024RUN apt-get update \
kalnagy92162652019-07-02 15:15:49 +020025 && apt-get install -y golang-glide git wget
Balint Uveges871fa392019-04-02 20:31:11 +000026
kalnagy92162652019-07-02 15:15:49 +020027RUN cd /go/bin \
28 && wget --quiet https://github.com/go-swagger/go-swagger/releases/download/v0.19.0/swagger_linux_amd64 \
29 && mv swagger_linux_amd64 swagger \
30 && chmod +x swagger
31
32COPY . /go/src/routing-manager
33
34WORKDIR /go/src/routing-manager
35
36RUN git clone "https://gerrit.o-ran-sc.org/r/ric-plt/appmgr" \
37 && cp appmgr/api/appmgr_rest_api.json api/ \
38 && rm -rf appmgr
39
40RUN swagger generate server -f api/routing_manager.yaml -t pkg/ --exclude-main -r LICENSE
41RUN swagger generate client -f api/appmgr_rest_api.json -t pkg/ -m appmgr_model -c appmgr_client -r LICENSE
42
43RUN glide install --strip-vendor
44
45RUN go build cmd/rtmgr.go \
46 && cp rtmgr /go/bin/rtmgr \
47 && cp run_rtmgr.sh /run_rtmgr.sh
48
49# UT intermediate container
50FROM rtmgrbuild as rtmgrut
51RUN go test ./pkg/sbi ./pkg/rpe ./pkg/nbi ./pkg/sdl -cover -race
52
53# Final, executable container
Lott, Christopher (cl778h)419d8512019-06-05 15:51:17 -040054FROM ubuntu:16.04
kalnagy92162652019-07-02 15:15:49 +020055COPY --from=rtmgrbuild /go/bin/rtmgr /
56COPY --from=rtmgrbuild /run_rtmgr.sh /
57RUN mkdir /db && touch /db/rt.json && chmod 777 /db/rt.json
58CMD /run_rtmgr.sh
59