|
1 | 1 | machine:
|
2 | 2 | services:
|
3 | 3 | - docker
|
4 |
| - environment: |
5 |
| - PKG: ${CIRCLE_PROJECT_REPONAME} |
6 |
| - URL: github.com/${CIRCLE_PROJECT_USERNAME}/${PKG} |
7 |
| - IMG: segment/${PKG} |
8 |
| - DOCKER: > |
9 |
| - docker run -i -t |
10 |
| - -v ${GOPATH%%:*}:/go |
11 |
| - -v ${HOME}/${PKG}:/go/src/${URL} |
12 |
| - -v /var/run/docker.sock:/run/docker.sock |
13 |
| - -v $(which docker):/usr/bin/docker:ro |
14 |
| - -v $(which docker-compose):/usr/bin/docker-compose:ro |
15 |
| - -w /go/src/${URL} |
16 | 4 |
|
17 | 5 | dependencies:
|
18 |
| - pre: |
19 |
| - - docker pull segment/golang:latest |
20 | 6 | override:
|
21 |
| - - ${DOCKER} -v ${HOME}/.ssh:/root/.ssh:ro segment/golang:latest get |
| 7 | + - docker pull segment/golang:latest |
22 | 8 |
|
23 | 9 | test:
|
24 | 10 | override:
|
25 |
| - - ${DOCKER} segment/golang:latest vet lint test bench go.packages='. ./lib' |
26 |
| - post: |
27 |
| - - ${DOCKER} segment/golang:latest build go.packages='. ./lib' |
28 |
| - |
29 |
| -deployment: |
30 |
| - master: |
31 |
| - branch: master |
32 |
| - commands: |
33 |
| - - > |
34 |
| - if [ -e Dockerfile ]; then ${DOCKER} segment/golang:latest docker.publish |
35 |
| - docker.email=${DOCKER_EMAIL} |
36 |
| - docker.user=${DOCKER_USER} |
37 |
| - docker.pass=${DOCKER_PASS} |
38 |
| - docker.image=${IMG} |
39 |
| - docker.version=master |
40 |
| - docker.tags="circle-${CIRCLE_BUILD_NUM} git-${CIRCLE_SHA1:0:7}" |
41 |
| - ; fi |
42 |
| - release: |
43 |
| - tag: /[0-9]+(\.[0-9]+)*/ |
44 |
| - commands: |
45 |
| - - > |
46 |
| - if [ -e Dockerfile ]; then ${DOCKER} segment/golang:latest docker.publish |
47 |
| - docker.email=${DOCKER_EMAIL} |
48 |
| - docker.user=${DOCKER_USER} |
49 |
| - docker.pass=${DOCKER_PASS} |
50 |
| - docker.image=${IMG} |
51 |
| - docker.version=latest |
52 |
| - docker.tags="circle-${CIRCLE_BUILD_NUM} ${CIRCLE_TAG}" |
53 |
| - ; fi |
| 11 | + - > |
| 12 | + docker run |
| 13 | + $(env | grep -E '^CIRCLE_|^DOCKER_|^CIRCLE$|^CI$' | sed 's/^/--env /g' | tr "\\n" " ") |
| 14 | + --rm |
| 15 | + --tty |
| 16 | + --interactive |
| 17 | + --name go |
| 18 | + --volume /var/run/docker.sock:/run/docker.sock |
| 19 | + --volume ${PWD}:/go/src/github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME} |
| 20 | + --workdir /go/src/github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME} |
| 21 | + segment/golang:latest |
0 commit comments