Skip to content

Instantly share code, notes, and snippets.

@pei0804
Last active August 25, 2017 08:49
Show Gist options
  • Save pei0804/f79c07ca043b63f808034858dfba4328 to your computer and use it in GitHub Desktop.
Save pei0804/f79c07ca043b63f808034858dfba4328 to your computer and use it in GitHub Desktop.
goa-gae-wercker
box: michilu/docker-goapp
build:
after-steps:
- install-packages:
packages: ruby
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
channel: notification
steps:
- script:
name: バックエンドソースの場所をSRCに入れる
code: |-
: ${SRC:="./server"}
- setup-go-workspace
- script:
name: GOROOTのパッケージに一般ユーザーからの書き込みの許可
code: |
sudo chmod -R a+w `goapp env GOROOT`/pkg
- script:
name: version確認
code: |
goapp version
go version
- script:
name: depのインストールと実行
code: |
GOROOT=/usr/local/go go get -u github.com/golang/dep/...
/usr/local/go_appengine/gopath/bin/dep ensure
/usr/local/go_appengine/gopath/bin/dep status
- script:
name: goa
code: |
(cd vendor/github.com/goadesign/goa/goagen && GOROOT=/usr/local/go go get && GOROOT=/usr/local/go go build)
./vendor/github.com/goadesign/goa/goagen/goagen version
export repo="${PWD#`goapp env GOPATH`/src/}"
./vendor/github.com/goadesign/goa/goagen/goagen app -d ${repo}/design
./vendor/github.com/goadesign/goa/goagen/goagen client -d ${repo}/design
./vendor/github.com/goadesign/goa/goagen/goagen swagger -d ${repo}/design
- script:
name: set GOPATH
code: |
export GOPATH="$GOPATH:$WERCKER_SOURCE_DIR"
goapp env GOPATH
- script:
name: lint
code: |
cwd: ${SRC}
make lint
- script:
name: goapp build
code: |
goapp build ${SRC}
- script:
name: goapp test
code: |
goapp test ${SRC}
- wercker/golint:
exclude: "vendor/"
- script:
name: copy to output directory
code: |-
rsync -avz ${GOPATH%%:*}/ $WERCKER_OUTPUT_DIR
deploy:
steps:
- michilu/go-appengine-deploy:
token: $APP_ENGINE_TOKEN
box: michilu/docker-goapp
build:
steps:
- script:
name: set App Engine source directories
code: |-
: ${SRC:="./backend"}
- setup-go-workspace
- script:
name: temporary fix
code: |
sudo chmod -R a+w `goapp env GOROOT`/pkg
- script:
name: version
code: |
goapp version
go version
- script:
name: dep
code: |
GOROOT=/usr/local/go go get -u github.com/golang/dep/...
/usr/local/go_appengine/gopath/bin/dep ensure
/usr/local/go_appengine/gopath/bin/dep status
- script:
name: goa
code: |
(cd vendor/github.com/goadesign/goa/goagen && GOROOT=/usr/local/go go get && GOROOT=/usr/local/go go build)
./vendor/github.com/goadesign/goa/goagen/goagen version
export repo="${PWD#`goapp env GOPATH`/src/}"
./vendor/github.com/goadesign/goa/goagen/goagen app -d ${repo}/design
./vendor/github.com/goadesign/goa/goagen/goagen swagger -d ${repo}/design
- script:
name: set GOPATH
code: |
export GOPATH="$GOPATH:$WERCKER_SOURCE_DIR"
goapp env GOPATH
- script:
name: goapp build
code: |
goapp build ${SRC}
- script:
name: goapp test
code: |
goapp test ${SRC}
- wercker/golint:
exclude: "vendor/"
- script:
name: copy to output directory
code: |-
rsync -avz ${GOPATH%%:*}/ $WERCKER_OUTPUT_DIR
after-steps:
- script:
name: set something to $WERCKER_STARTED_BY for hipchat-notify when starting from git-push event
code: |-
: ${WERCKER_STARTED_BY:="''(empty)"}
- hipchat-notify:
token: $HIPCHAT_TOKEN
room-id: $HIPCHAT_ROOM_ID
deploy:
steps:
- michilu/go-appengine-deploy:
token: $APP_ENGINE_TOKEN
after-steps:
- script:
name: set something to $WERCKER_STARTED_BY for hipchat-notify when starting from git-push event
code: |-
: ${WERCKER_STARTED_BY:="''(empty)"}
- hipchat-notify:
token: $HIPCHAT_TOKEN
room-id: $HIPCHAT_ROOM_ID
passed-notify: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment