mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08:33 +00:00
[DEV-167] Create full docker-based environment for client team testing (#78)
* [DEV-167] Created Dockerfile, dockerignore, and docker-compose. * [DEV-167] Updated docker-compose to use remote image. * [DEV-167] Added --addrindex to docker-compose. * [DEV-167] Switched to testnet and plugged in the correct address. * [DEV-167] Removed the third and fourth nodes from docker-compose. * [DEV-167] Exposed RPC port, added rpcuser and rpcpass. * [DEV-167] Wrangled RPC stuff into shape. Moved docker stuff into btcd/docker. * [DEV-167] Moved dockerignore back to root. Corrected path for rpc.cert and rpc.key. * [DEV-167] Added Jenkins job stuff. * [DEV-167] Added deploy.sh. * [DEV-167] Removed .travis.yaml and a couple of files that shouldn't be in this branch.
This commit is contained in:
parent
201d7e0207
commit
d5787954ee
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@ -0,0 +1,2 @@
|
||||
vendor/
|
||||
**/docker-compose.yml
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -37,4 +37,7 @@ _testmain.go
|
||||
.idea
|
||||
.vscode
|
||||
debug
|
||||
debug.test
|
||||
debug.test
|
||||
|
||||
# CI
|
||||
version.txt
|
17
.travis.yml
17
.travis.yml
@ -1,17 +0,0 @@
|
||||
language: go
|
||||
go:
|
||||
- "1.9.5"
|
||||
- "1.10.1"
|
||||
sudo: false
|
||||
install:
|
||||
- GLIDE_TAG=v0.12.3
|
||||
- GLIDE_DOWNLOAD="https://github.com/Masterminds/glide/releases/download/$GLIDE_TAG/glide-$GLIDE_TAG-linux-amd64.tar.gz"
|
||||
- curl -L $GLIDE_DOWNLOAD | tar -xvz
|
||||
- export PATH=$PATH:$PWD/linux-amd64/
|
||||
- glide install
|
||||
- go install . ./cmd/...
|
||||
- go get -u gopkg.in/alecthomas/gometalinter.v2
|
||||
- gometalinter.v2 --install
|
||||
script:
|
||||
- export PATH=$PATH:$HOME/gopath/bin
|
||||
- ./goclean.sh
|
43
docker/Dockerfile
Normal file
43
docker/Dockerfile
Normal file
@ -0,0 +1,43 @@
|
||||
# -- multistage docker build: stage #1: build stage
|
||||
FROM golang:1.10-alpine AS build
|
||||
|
||||
RUN mkdir -p /go/src/github.com/daglabs/btcd
|
||||
|
||||
WORKDIR /go/src/github.com/daglabs/btcd
|
||||
|
||||
RUN apk add --no-cache curl git openssh binutils gcc musl-dev
|
||||
RUN curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||
RUN go get -u github.com/golang/lint/golint \
|
||||
github.com/kisielk/errcheck \
|
||||
github.com/opennota/check/cmd/aligncheck \
|
||||
github.com/opennota/check/cmd/structcheck \
|
||||
github.com/opennota/check/cmd/varcheck
|
||||
|
||||
COPY ./Gopkg.* ./
|
||||
|
||||
RUN dep ensure -v --vendor-only
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN gofmt -d -e -s . \
|
||||
&& go tool vet -all . \
|
||||
&& golint -set_exit_status . \
|
||||
&& aligncheck . \
|
||||
&& structcheck -e . \
|
||||
&& varcheck -e .
|
||||
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o btcd .
|
||||
RUN strip btcd
|
||||
|
||||
RUN go test ./...
|
||||
|
||||
# --- multistage docker build: stage #2: runtime image
|
||||
FROM alpine
|
||||
WORKDIR /app
|
||||
|
||||
RUN apk add --no-cache ca-certificates tini
|
||||
|
||||
COPY --from=build /go/src/github.com/daglabs/btcd/btcd /app/
|
||||
COPY --from=build /go/src/github.com/daglabs/btcd/version.txt /app/
|
||||
|
||||
USER nobody
|
||||
ENTRYPOINT [ "/sbin/tini", "--" ]
|
26
docker/docker-compose.yml
Normal file
26
docker/docker-compose.yml
Normal file
@ -0,0 +1,26 @@
|
||||
version: '3'
|
||||
services:
|
||||
first:
|
||||
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||
command: [
|
||||
"btcd",
|
||||
"--testnet",
|
||||
"--addrindex",
|
||||
"--generate",
|
||||
"--miningaddr=dagtest:qrm4zaetvny2yuh4wudf8y43fd20lunkxs8quragg8",
|
||||
"--rpcuser=user",
|
||||
"--rpcpass=pass",
|
||||
"--rpclisten=0.0.0.0:18334",
|
||||
"--rpccert=docker/rpc.cert",
|
||||
"--rpckey=docker/rpc.key"
|
||||
]
|
||||
ports: ["18334:18334"]
|
||||
second:
|
||||
image: 956501169541.dkr.ecr.us-east-1.amazonaws.com/btcd:latest
|
||||
links: ["first"]
|
||||
command: [
|
||||
"btcd",
|
||||
"--testnet",
|
||||
"--addrindex",
|
||||
"--connect=first"
|
||||
]
|
17
docker/rpc.cert
Normal file
17
docker/rpc.cert
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICxjCCAiegAwIBAgIRAPJqXxfYxt2SS4zBDePySIcwCgYIKoZIzj0EAwQwNDEg
|
||||
MB4GA1UEChMXYnRjZCBhdXRvZ2VuZXJhdGVkIGNlcnQxEDAOBgNVBAMTB1N0YXMt
|
||||
UEMwHhcNMTgxMDAzMDkyNjI4WhcNMjgxMDAxMDkyNjI4WjA0MSAwHgYDVQQKExdi
|
||||
dGNkIGF1dG9nZW5lcmF0ZWQgY2VydDEQMA4GA1UEAxMHU3Rhcy1QQzCBmzAQBgcq
|
||||
hkjOPQIBBgUrgQQAIwOBhgAEAdQ6qvceZamb3kxvznD5WS22j+qZjZbFnakE7hmc
|
||||
8C9l+7mx110qnGpflvk8kX2YIMeV68S8ZMPQr81zNNiQAc45AfZhKQvGGxeYiUAu
|
||||
gSEsXyUbKYOZZTRVu3FA5i6fmC8yB0M/2HpVC3AgGViPR/1i/PzxL9olnvYpL2bw
|
||||
mS61JUD9o4HWMIHTMA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MIGv
|
||||
BgNVHREEgacwgaSCB1N0YXMtUEOCCWxvY2FsaG9zdIcEfwAAAYcQAAAAAAAAAAAA
|
||||
AAAAAAAAAYcQ/oAAAAAAAADopxgiQ7Ww/YcEwKgQA4cQ/oAAAAAAAABE0sNmcRO4
|
||||
G4cEwKg4AYcQ/oAAAAAAAACxJJdG4/zVLIcEqf7VLIcQ/oAAAAAAAACE0Z2jFy6T
|
||||
TYcEqf6TTYcQ/oAAAAAAAAAc1wgMEFA684cEwKgSFDAKBggqhkjOPQQDBAOBjAAw
|
||||
gYgCQgDsBor/CJyCyljrvXTDhWoctL28dsTjb512+KXGjH1Gpr6g+1P1OGKJrVWu
|
||||
d7M3GzOWT58y4qS63wwVwtL5lSAHhQJCAQZ0HVaGpmrY+S9yMxU1qrFlDyLt1GGA
|
||||
Z+KWzqPj4NBftX6p5lrcw3reS+aOnAsQNKvIVHCrQl/mhzpPvkLLNqjq
|
||||
-----END CERTIFICATE-----
|
7
docker/rpc.key
Normal file
7
docker/rpc.key
Normal file
@ -0,0 +1,7 @@
|
||||
-----BEGIN EC PRIVATE KEY-----
|
||||
MIHcAgEBBEIA8VXso04KwmMXkgRkJrVMP2uOuB8zhcxzzFsPYUpYDKHDItEL1XBK
|
||||
Ffa0UXtBxOdOPK7lFtXjoao6iwNvPOxSJSCgBwYFK4EEACOhgYkDgYYABAHUOqr3
|
||||
HmWpm95Mb85w+Vktto/qmY2WxZ2pBO4ZnPAvZfu5sdddKpxqX5b5PJF9mCDHlevE
|
||||
vGTD0K/NczTYkAHOOQH2YSkLxhsXmIlALoEhLF8lGymDmWU0VbtxQOYun5gvMgdD
|
||||
P9h6VQtwIBlYj0f9Yvz88S/aJZ72KS9m8JkutSVA/Q==
|
||||
-----END EC PRIVATE KEY-----
|
Loading…
x
Reference in New Issue
Block a user