-
Notifications
You must be signed in to change notification settings - Fork 1
/
buildspec.yml
50 lines (35 loc) · 1.38 KB
/
buildspec.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
version: 0.2
phases:
install:
commands:
# AWS Codebuild Go images use /go for the $GOPATH so let's symlink our
# application source code into that directory structure.
- ln -s "${CODEBUILD_SRC_DIR}" "/go/src/handler"
# Install golint
- go get -u github.com/golang/lint/golint
# Install Testify to use common assertions and mocks in tests
- go get -u github.com/stretchr/testify
pre_build:
commands:
# Make sure we're in the project directory within our GOPATH
- cd "/go/src/handler"
# Fetch all dependencies
- go get ./...
# Ensure code passes all lint tests
- golint -set_exit_status
# Check for common Go application problems with 'go tool vet'
- go tool vet .
# Run all tests included with our application
- go test .
build:
commands:
# Build our go application
- go build -o main
# Copy static assets to S3, and package application with AWS CloudFormation/SAM
- aws s3 cp --recursive public/ s3://$WEBSITE_S3_BUCKET/public/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
- sed -i -e "s|assets/|$WEBSITE_S3_PREFIX/public/assets/|g" public/index.html
- aws cloudformation package --template template.yml --s3-bucket $S3_BUCKET --output-template template-export.yml
artifacts:
type: zip
files:
- template-export.yml