WIP
This repository is part of my GCP studies to perform the vast possibilities of using/implementing google services
Commit your script into ./scripts folder and change the script name into the cicd-definitions.sh file as below
export TF_VAR_startup_script="../scripts/<YOUR_SCRIPT>.sh"
You can also customize firewall rule to forward your application port and access it via compute external IP:
Editing the file terraform/compute-instance.tf
resource "google_compute_firewall" "http-server" {
name = "default-allow-http"
network = "default"
allow {
protocol = "tcp"
ports = ["80", "8080", "<PORT>"]
}
In order to have custom builds it is possible to commit with special messages
[skip ci]
<- built in flag that skips pipeline trigger
[tf-destroy]
<- triggers the pipeline to run 'terraform destroy' which will shutdown current GCP infrastructure
[custom-vm]|<script_name.sh>
<- triggers the pipeline creating the VM instance with script provided as startup script
[custom-command]
<- triggers the pipeline and runs the command specified
For this custom command you need to use a pipe '|' and then the command as follow as an example:
$ git commit -m "[custom-command] | terraform init"
[custom-vm]|script_name.sh
https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule
https://www.terraform.io/docs/providers/google/index.html