O Spinnaker no Goole Cloud utiliza GKE, Memorystore, buckets do Cloud Storage e contas de serviço.
Passo 1 - Clone do Repositório https://github.com/GoogleCloudPlatform/spinnaker-for-gcp.git
mkdir ~/cloudshell_open && cd ~/cloudshell_open
git clone https://github.com/GoogleCloudPlatform/spinnaker-for-gcp.git
cd spinnaker-for-gcp
./scripts/install/setup_properties.sh
cat ./scripts/install/properties
source ./scripts/install/properties
git config --global user.email "USER@empresa.com"
git config --global user.name "USER"
./scripts/install/setup.sh
A instalação pode levar uma média de 15 minutos.
./scripts/manage/connect_unsecured.sh
APP_REGION=us-east1-b; gcloud config set compute/zone $APP_REGION
gcloud container clusters create app-cluster --machine-type=n1-standard-2
./scripts/manage/add_gke_account.sh
kubectl config use-context gke_${PROJECT_ID}_${ZONE}_spinnaker-1
./scripts/manage/push_and_apply.sh
cd ./samples/helloworldwebapp/
~/spin app save --application-name helloworldwebapp \
--cloud-providers kubernetes --owner-email $IAP_USER
cat templates/pipelines/deploystaging_json.template | envsubst > templates/pipelines/deploystaging.json
~/spin pi save -f templates/pipelines/deploystaging.json
export DEPLOY_STAGING_PIPELINE_ID=$(~/spin pi get -a helloworldwebapp -n 'Deploy to Staging' | jq -r '.id')
cat templates/pipelines/deployprod_json.template | envsubst > templates/pipelines/deployprod.json
~/spin pi save -f templates/pipelines/deployprod.json
mkdir -p ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/
cp -r templates/repo/src ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/
cp -r templates/repo/config ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/
cp templates/repo/Dockerfile ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/
cat templates/repo/cloudbuild_yaml.template | envsubst '$BUCKET_NAME' > ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/cloudbuild.yaml
cat ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/staging/replicaset_yaml.template | envsubst > ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/staging/replicaset.yaml
rm ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/staging/replicaset_yaml.template
cat ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/prod/replicaset_yaml.template | envsubst > ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/prod/replicaset.yaml
rm ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp/config/prod/replicaset_yaml.template
cd ~/$PROJECT_ID/spinnaker-for-gcp-helloworldwebapp
git init
git add .
git commit -m "Initial commit"
gcloud source repos create spinnaker-for-gcp-helloworldwebapp
git config credential.helper gcloud.sh
git remote add origin https://source.developers.google.com/p/$PROJECT_ID/r/spinnaker-for-gcp-helloworldwebapp
git push origin master
cat ./cloudbuild.yaml
gcloud beta builds triggers create cloud-source-repositories \
--repo spinnaker-for-gcp-helloworldwebapp \
--branch-pattern master \
--build-config cloudbuild.yaml \
--included-files "src/**,config/**"
sed -i 's/Hello World/Hello World 1.0/g' ./src/main.go
git commit -a -m "Change to 1.0"
git push origin master