Skip to content

Commit 80e1bc4

Browse files
committed
Use golang docker image to compile oracledb_exporter.
1 parent e10195b commit 80e1bc4

File tree

3 files changed

+49
-15
lines changed

3 files changed

+49
-15
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
dist/
2+
*.rpm

Dockerfile

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,42 @@
1-
FROM ubuntu:17.10
1+
FROM golang:1.11 AS build
2+
3+
RUN apt-get -qq update && apt-get install --no-install-recommends -qq libaio1 rpm
4+
COPY *.rpm /
5+
RUN rpm -Uvh --nodeps /oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm /oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm && rm /*.rpm
6+
RUN echo $LD_LIBRARY_PATH >> /etc/ld.so.conf.d/oracle.conf && ldconfig
7+
8+
WORKDIR /go/src/oracledb_exporter
9+
COPY . .
10+
RUN go get -d -v
11+
12+
ARG VERSION
13+
ENV VERSION ${VERSION:-0.1.0}
14+
15+
ENV PKG_CONFIG_PATH /go/src/oracledb_exporter
16+
ENV GOOS linux
17+
ENV LD_LIBRARY_PATH /usr/lib/oracle/12.2/client64/lib
18+
19+
RUN go build -v -ldflags "-X main.Version=${VERSION} -s -w"
20+
21+
FROM ubuntu:18.04
222
MAINTAINER Yannig Perré <yannig.perre@gmail.com>
323

24+
ENV VERSION ${VERSION:-0.1.0}
25+
26+
COPY oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm /
27+
428
RUN apt-get -qq update && \
5-
apt-get install --no-install-recommends -qq libaio1 rpm wget -y && \
6-
wget -q --no-check-certificate https://www.dropbox.com/s/f2ul3y0854y8oqw/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm && \
7-
rpm -Uvh --nodeps oracle*rpm && \
8-
rm -f oracle*rpm
29+
apt-get install --no-install-recommends -qq libaio1 rpm -y && rpm -Uvh --nodeps /oracle*rpm && \
30+
rm -f /oracle*rpm
931

1032
ENV LD_LIBRARY_PATH /usr/lib/oracle/12.2/client64/lib
33+
RUN echo $LD_LIBRARY_PATH >> /etc/ld.so.conf.d/oracle.conf && ldconfig
1134

12-
ADD ./dist/oracledb_exporter.*.linux-amd64/oracledb_exporter /oracledb_exporter
35+
COPY --from=build /go/src/oracledb_exporter/oracledb_exporter /oracledb_exporter
1336
ADD ./default-metrics.toml /default-metrics.toml
1437

38+
ENV DATA_SOURCE_NAME system/oracle@oracle/xe
39+
1540
RUN chmod 755 /oracledb_exporter
1641

1742
EXPOSE 9161

Makefile

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION := 0.1.0
1+
VERSION := 0.1.1
22

33
LDFLAGS := -X main.Version=$(VERSION)
44
GOFLAGS := -ldflags "$(LDFLAGS) -s -w"
@@ -19,17 +19,19 @@ darwin:
1919
@cp default-metrics.toml ./dist/oracledb_exporter.$(VERSION).darwin-${GOARCH}
2020
@(cd dist ; tar cfz oracledb_exporter.$(VERSION).darwin-${GOARCH}.tar.gz oracledb_exporter.$(VERSION).darwin-${GOARCH})
2121

22-
build: linux
22+
local-build: linux
2323

24-
deps:
24+
build: docker
25+
26+
prereq: oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
2527
@echo deps
2628
@sudo apt-get -qq update
2729
@sudo apt-get install --no-install-recommends -qq libaio1 rpm
28-
@wget -q https://www.dropbox.com/s/f2ul3y0854y8oqw/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
29-
@wget -q https://www.dropbox.com/s/qftd81ezcp8k9kd/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
3030
@sudo rpm -Uvh --nodeps oracle*rpm
3131
@echo /usr/lib/oracle/12.2/client64/lib | sudo tee /etc/ld.so.conf.d/oracle.conf
3232
@sudo ldconfig
33+
34+
deps:
3335
@PKG_CONFIG_PATH=${PWD} go get
3436

3537
test:
@@ -39,11 +41,17 @@ test:
3941
clean:
4042
@rm -rf ./dist
4143

42-
docker:
43-
@docker build -t "yannig/oracledb_exporter:${VERSION}" .
44-
@docker tag yannig/oracledb_exporter:${VERSION} yannig/oracledb_exporter:latest
44+
oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm:
45+
wget -q https://www.dropbox.com/s/f2ul3y0854y8oqw/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm -O oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
46+
47+
oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm:
48+
wget -q https://www.dropbox.com/s/qftd81ezcp8k9kd/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm -O oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
49+
50+
docker: oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
51+
docker build --build-arg VERSION=$(VERSION) -t "yannig/oracledb_exporter:${VERSION}" .
52+
docker tag yannig/oracledb_exporter:${VERSION} yannig/oracledb_exporter:latest
4553

46-
travis: deps test build docker
54+
travis: deps test linux docker
4755
@true
4856

4957
.PHONY: build deps test clean docker travis

0 commit comments

Comments
 (0)