Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pipeline {
- agent {
- label "jenkins-go"
- }
- environment {
- ORG = 'vfarcic'
- APP_NAME = 'go-demo-6'
- CHARTMUSEUM_CREDS = credentials('jenkins-x-chartmuseum')
- }
- stages {
- stage('CI Build and push snapshot') {
- when {
- branch 'PR-*'
- }
- environment {
- PREVIEW_VERSION = "0.0.0-SNAPSHOT-$BRANCH_NAME-$BUILD_NUMBER"
- PREVIEW_NAMESPACE = "$APP_NAME-$BRANCH_NAME".toLowerCase()
- HELM_RELEASE = "$PREVIEW_NAMESPACE".toLowerCase()
- }
- steps {
- container('go') {
- dir('/home/jenkins/go/src/github.com/vfarcic/go-demo-6') {
- checkout scm
- sh "make unittest"
- sh "make linux"
- sh "export VERSION=$PREVIEW_VERSION && skaffold build -f skaffold.yaml"
- sh "jx step post build --image $DOCKER_REGISTRY/$ORG/$APP_NAME:$PREVIEW_VERSION"
- }
- dir('/home/jenkins/go/src/github.com/vfarcic/go-demo-6/charts/preview') {
- sh "make preview"
- sh "jx preview --app $APP_NAME --dir ../.."
- }
- }
- }
- }
- stage('Build Release') {
- when {
- branch 'master'
- }
- steps {
- container('go') {
- dir('/home/jenkins/go/src/github.com/vfarcic/go-demo-6') {
- checkout scm
- // ensure we're not on a detached head
- sh "git checkout master"
- sh "git config --global credential.helper store"
- sh "jx step git credentials"
- // so we can retrieve the version in later steps
- sh "echo \$(jx-release-version) > VERSION"
- sh "jx step tag --version \$(cat VERSION)"
- sh "make build"
- sh "export VERSION=`cat VERSION` && skaffold build -f skaffold.yaml"
- sh "jx step post build --image $DOCKER_REGISTRY/$ORG/$APP_NAME:\$(cat VERSION)"
- }
- }
- }
- }
- stage('Promote to Environments') {
- when {
- branch 'master'
- }
- steps {
- container('go') {
- dir('/home/jenkins/go/src/github.com/vfarcic/go-demo-6/charts/go-demo-6') {
- sh "jx step changelog --version v\$(cat ../../VERSION)"
- // release the helm chart
- sh "jx step helm release"
- // promote through all 'Auto' promotion Environments
- sh "jx promote -b --all-auto --timeout 1h --version \$(cat ../../VERSION)"
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement