blob: de491db54f45d908f71f83637f704156c9827120 [file] [log] [blame]
Katri Turunen4b74f012019-08-15 10:49:36 +03001#
2# Copyright (c) 2019 AT&T Intellectual Property.
3# Copyright (c) 2018-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# Start from golang v1.12 base image
18FROM golang:1.12 as gobuild
19
20# Set the Working Directory for ves-agent inside the container
21RUN mkdir -p $GOPATH/src/VESPA
22WORKDIR $GOPATH/src/VESPA
23
24# Clone VES Agent v0.3.0 from github
25RUN git clone -b v0.3.0 https://github.com/nokia/ONAP-VESPA.git $GOPATH/src/VESPA
26
27RUN GO111MODULE=on go mod download
28
29# Install VES Agent
30RUN export GOPATH=$HOME/go && \
31 export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
32 go install -v ./ves-agent
33
34# Set the Working Directory for vesmgr inside the container
35RUN mkdir -p $GOPATH/src/vesmgr
36WORKDIR $GOPATH/src/vesmgr
37
38# Copy vesmgr to the Working Directory
39COPY $HOME/ .
40
41RUN GO111MODULE=on go mod download
42
Katri Turunen66b78132019-09-02 10:28:52 +030043# Run vesmgr UT
44RUN export GOPATH=$HOME/go && \
45 export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
46 go test ./...
47
Katri Turunen4b74f012019-08-15 10:49:36 +030048# Install vesmgr
49RUN export GOPATH=$HOME/go && \
50 export PATH=$GOPATH/bin:$GOROOT/bin:$PATH && \
51 go install -v ./cmd/vesmgr
52
53#################
54#
55# Second phase, copy compiled stuff to a runtime container
56
57# Ubuntu or something smaller?
58FROM ubuntu:18.04
Roni Riska9a9ecfe2019-09-25 12:28:32 +030059# For trouble-shooting
60RUN apt-get update; apt-get install -y \
61 iputils-ping \
62 net-tools \
63 curl
64
Katri Turunen4b74f012019-08-15 10:49:36 +030065# Create the configuration directory for ves agent
66RUN mkdir -p /etc/ves-agent
67COPY --from=gobuild root/go/bin /root/go/bin
68
69ENV PATH="/root/go/bin:${PATH}"
70
71ENTRYPOINT ["vesmgr"]