Skip to content

Commit

Permalink
test: add terraform config for Cloud Build trigger (GoogleCloudPlatfo…
Browse files Browse the repository at this point in the history
…rm#467)

* add terraform config for Cloud Build

* fix typo

* DRY terraform instructions. Add description to vars
  • Loading branch information
tswast authored May 6, 2020
1 parent 26a67ed commit 2c8bf96
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 1 deletion.
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,17 @@ node_modules/
.envrc
.coverage
htmlcov/
*.iml
*.iml

# Terraform
# See: https://github.com/github/gitignore/blob/master/Terraform.gitignore
**/.terraform/*
*.tfstate
*.tfstate.*
override.tf
override.tf.json
*_override.tf
*_override.tf.json
.terraformrc
terraform.rc

18 changes: 18 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@ To get started contributing:

1. Sign a Contributor License Agreement (see details below).
1. Fork the repo, develop and test your code changes.

To test your changes before making a pull request, create a Cloud Build
trigger for your fork on your own project.

```
gcloud config set project YOUR-PROJECT
cd cloudbuild
teraform init
terraform apply -var="project_id=$(gcloud config get-value project)" -var='github_owner=GITHUB-USER-ID'
```

Builds require a `make` container image in the same project. Build with
the following command:

```
gcloud builds submit --tag gcr.io/$(gcloud config get-value project)/make .
```

1. Develop using the following guidelines to help expedite your review:
1. Ensure that your code adheres to the existing [style](https://google.github.io/styleguide).
1. Ensure that your code has an appropriate set of unit tests which all pass.
Expand Down
Empty file added cloudbuild/README.md
Empty file.
27 changes: 27 additions & 0 deletions cloudbuild/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

resource "google_cloudbuild_trigger" "default-push-trigger" {
provider = google-beta # Use Beta version for GitHub support
project = var.project_id
github {
owner = var.github_owner
name = var.github_repo_name
push {
branch = var.github_branch
}
}

filename = "cloudbuild.yaml"
}
37 changes: 37 additions & 0 deletions cloudbuild/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

variable "project_id" {
type = string
default = "cloud-eng-council"
description = "ID of Google Cloud project ID where resources are deployed"
}

variable "github_owner" {
type = string
default = "GoogleCloudPlaform"
description = "Owner of the GitHub repo: usually, your GitHub username."
}

variable "github_repo_name" {
type = string
default = "professional-services"
description = "Name of the GitHub repository."
}

variable "github_branch" {
type = string
default = ".*"
description = "Regular expression of which branches the Cloud Build trigger should run. Defaults to all branches."
}

0 comments on commit 2c8bf96

Please sign in to comment.