1+ version : ' 1.0'
2+
3+ stages :
4+ - Prepare
5+ - Deploy
6+
7+ steps :
8+ main_clone :
9+ title : " Create Context"
10+ stage : Prepare
11+ image : alpine
12+ commands :
13+ - cf_export NAMESPACE=${{STAGE}}
14+ - cf_export IMAGE_NAME=${{CF_DOCKER_REPO_URL}}/${{CF_REPO_NAME}}
15+ - cf_export IMAGE_TAG=${{CF_RELEASE_TAG}}
16+
17+ set_github_deployment_status_to_pending :
18+ title : Set GitHub deployment status to "pending"
19+ stage : Deploy
20+ image : cloudposse/github-status-updater
21+ environment :
22+ - GITHUB_ACTION=update_state
23+ - GITHUB_TOKEN=${{GITHUB_TOKEN}}
24+ - GITHUB_OWNER=${{CF_REPO_OWNER}}
25+ - GITHUB_REPO=${{CF_REPO_NAME}}
26+ - GITHUB_REF=${{CF_REVISION}}
27+ - GITHUB_CONTEXT=${{STAGE}}-environment
28+ - GITHUB_STATE=pending
29+ - GITHUB_DESCRIPTION=Deploying changes to ${{NAMESPACE}} namespace
30+ - GITHUB_TARGET_URL=${{ATLANTIS_ATLANTIS_URL}}
31+ when :
32+ condition :
33+ all :
34+ githubNotificationsEnabled : " '${{GITHUB_NOTIFICATIONS_ENABLED}}' == 'true'"
35+
36+ deploy_helmfile :
37+ title : " Deploy with helmfile"
38+ stage : " Deploy"
39+ image : " ${{CF_DOCKER_REPO_URL}}/${{CF_REPO_NAME}}:${{CF_REVISION}}"
40+ working_directory : /deploy/
41+ commands :
42+ # Announce the release version
43+ - " echo 'Preparing to deploy version ${{CF_RELEASE_TAG}}'"
44+ # Fetch the build-harness
45+ - " curl -sSL -o Makefile https://git.io/build-harness"
46+ # Initialize the build-harness
47+ - " make init"
48+ # Install or upgrade tiller
49+ - " make helm/toolbox/upsert"
50+ # Deploy chart to cluster using helmfile
51+ - " helmfile --namespace ${{NAMESPACE}} --selector color=blue sync"
52+
53+ set_github_deployment_status_to_success :
54+ title : Set GitHub deployment status to "success"
55+ stage : " Deploy"
56+ image : cloudposse/github-status-updater
57+ environment :
58+ - GITHUB_ACTION=update_state
59+ - GITHUB_TOKEN=${{GITHUB_TOKEN}}
60+ - GITHUB_OWNER=${{CF_REPO_OWNER}}
61+ - GITHUB_REPO=${{CF_REPO_NAME}}
62+ - GITHUB_REF=${{CF_REVISION}}
63+ - GITHUB_CONTEXT=${{STAGE}}-environment
64+ - GITHUB_STATE=success
65+ - GITHUB_DESCRIPTION=Deployed to ${{NAMESPACE}} namespace
66+ - GITHUB_TARGET_URL=${{ATLANTIS_ATLANTIS_URL}}
67+ when :
68+ condition :
69+ all :
70+ githubNotificationsEnabled : " '${{GITHUB_NOTIFICATIONS_ENABLED}}' == 'true'"
0 commit comments