| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- pipeline {
- agent {
- docker {
- image 'gitlab-ci-java8'
- }
- }
- stages {
- stage('Init') {
- steps {
- checkout([
- $class: 'GitSCM',
- branches: [[name: '*/homework_proguard']],
- doGenerateSubmoduleConfigurations: false,
- extensions: [[$class: 'CleanCheckout']],
- submoduleCfg: [],
- userRemoteConfigs: [[
- url: 'https://github.com/MrOzOn/HealthDiary',
- credentialsId: 'CRED_FOR_GITHUB'
- ]]])
- }
- }
- stage('Static Analysis') {
- failFast true
- parallel {
- stage('lint') {
- steps {
- echo './gradlew lintDebug'
- }
- }
- stage('detekt') {
- steps {
- sh './gradlew detekt'
- }
- }
- }
- }
- stage('Test') {
- failFast true
- parallel {
- stage('default') {
- steps {
- echo './gradlew testDebugUnitTest'
- }
- }
- stage('jacoco') {
- steps {
- sh './gradlew jacocoTestDebugUnitTestReport'
- }
- }
- }
- }
- stage('Signing APK') {
- steps {
- prepareProperties()
- sh './gradlew assembleRelease'
- }
- }
- }
- }
- def prepareProperties() {
- def propertiesPath = "/.keystore"
- sh "mkdir -p ${env.HOME}${propertiesPath}"
- withCredentials([file(credentialsId: 'KEYSTORE_PROPERTIES', variable: 'propertiesFile')]) {
- sh "cp -f ${propertiesFile} ${env.HOME}${propertiesPath}/keystore.properties"
- }
- withCredentials([file(credentialsId: 'KEYSTORE_JKS', variable: 'keystore')]) {
- sh "cp -f ${keystore} ${env.HOME}${propertiesPath}/learn_otus.jks"
- }
- }
|