Skip to content

Instantly share code, notes, and snippets.

@mathieu-benoit
Created June 30, 2019 16:37
Show Gist options
  • Save mathieu-benoit/9319bb670caae78cd75b55a4578a3291 to your computer and use it in GitHub Desktop.
Save mathieu-benoit/9319bb670caae78cd75b55a4578a3291 to your computer and use it in GitHub Desktop.
alwaysupalwayson
steps:
- bash: |
docker build \
-f $(system.defaultWorkingDirectory)/$(projectName)/Dockerfile \
-t $(registryServerName)/$(imageName):$(build.buildId) \
$(system.defaultWorkingDirectory)/$(projectName)
failOnStderr: true
displayName: 'docker build'
- bash: |
echo $(registryPassword) | docker login \
$(registryServerName) \
-u $(registryLogin) \
--password-stdin
docker push $(registryServerName)/$(imageName):$(build.buildId)
displayName: 'docker push'
condition: and(succeeded(), eq(variables['build.sourceBranch'], 'refs/heads/master'))
#- task: HelmInstaller@0
# displayName: 'install helm'
# inputs:
# helmVersion: $(helmVersion)
# checkLatestHelmVersion: false
- bash: |
helm init \
--client-only
helm package \
$(system.defaultWorkingDirectory)/$(projectName)/charts/$(projectName)
failOnStderr: true
displayName: 'helm package'
- bash: |
chartPackage=$(ls $(projectName)-*.tgz)
chartVersion=$(echo $(basename $chartPackage) | egrep -o '[0-9].*[0-9]')
chartVersionAlreadyExists=$(az acr helm list \
-n $(registryName) \
-u $(registryLogin) \
-p $(registryPassword) \
--query "$(projectName)[?version=='$chartVersion'].version" \
-o tsv)
if [ "$chartVersion" != "$chartVersionAlreadyExists" ]; then
az acr helm push \
-n $(registryName) \
-u $(registryLogin) \
-p $(registryPassword) \
$chartPackage
fi
echo $(jq -n --arg version "$chartVersion" '{helmChartVersion: $version}') > $(build.artifactStagingDirectory)/variables.json
failOnStderr: true
name: helmPush
displayName: 'az acr helm push'
condition: and(succeeded(), eq(variables['build.sourceBranch'], 'refs/heads/master'))
- publish: $(build.artifactStagingDirectory)
artifact: helmChartVersion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment