82 γραμμές
		
	
	
	
		
			1,8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			82 γραμμές
		
	
	
	
		
			1,8 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
 | 
						|
pipeline {
 | 
						|
    agent {
 | 
						|
        kubernetes {
 | 
						|
            yaml '''
 | 
						|
apiVersion: v1
 | 
						|
kind: Pod
 | 
						|
spec:
 | 
						|
  containers:
 | 
						|
  - name: jnlp
 | 
						|
    image: 'jenkins/inbound-agent'
 | 
						|
    args: ['\$(JENKINS_SECRET)', '\$(JENKINS_NAME)']
 | 
						|
  - name: hugo
 | 
						|
    image: klakegg/hugo:debian
 | 
						|
    command:
 | 
						|
    - sleep
 | 
						|
    args:
 | 
						|
    - 1d
 | 
						|
  - name: tea
 | 
						|
    image: 'alpine'
 | 
						|
    command:
 | 
						|
    - sleep
 | 
						|
    args:
 | 
						|
    - 1d
 | 
						|
'''
 | 
						|
            defaultContainer 'hugo'
 | 
						|
            workspaceVolume dynamicPVC(requestsSize: "10Gi")
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    options {
 | 
						|
        skipDefaultCheckout()
 | 
						|
    }
 | 
						|
 | 
						|
    stages {
 | 
						|
        stage('Grab Code') {
 | 
						|
            steps {
 | 
						|
                checkout scm
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage('Test Hugo syntax') {
 | 
						|
            steps {
 | 
						|
                container('hugo') {
 | 
						|
                    sh 'hugo --quiet'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage('Build the Site') {
 | 
						|
            steps {
 | 
						|
                container('hugo') {
 | 
						|
                    sh 'hugo'
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage('Create Package') {
 | 
						|
            steps {
 | 
						|
                container('hugo') {
 | 
						|
                    sh "tar zcvf site.tar.gz ./public/"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        stage('Upload Release') {
 | 
						|
            environment {
 | 
						|
                GITEA_LOGIN = 'js-hellug-bot'
 | 
						|
                GITEA_SERVER_URL = 'https://dev.hellug.gr'
 | 
						|
                GITEA_SERVER_TOKEN = credentials('jenkins-pipeline-bot-token')
 | 
						|
            }
 | 
						|
 | 
						|
            steps {
 | 
						|
                container('tea') {
 | 
						|
                    sh 'ls -la && pwd && apk update && apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing tea'
 | 
						|
                    sh "tea login add -n ${GITEA_LOGIN}"
 | 
						|
                    sh "tea r create -t ${BUILD_TAG} --tag r${BUILD_NUMBER} -a site.tar.gz --repo hellug/www"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |