diff options
author | Andrew Dolgov <[email protected]> | 2022-10-02 11:51:34 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2022-10-02 11:51:34 +0300 |
commit | 726faa085973d007ff9655c2a1fd0b7e480044ad (patch) | |
tree | 833cc950db0599b8919873cc4cf719209ba5267e | |
parent | 993a8d0d1388c11e4e851dc96ac8a4f21e770fd4 (diff) |
add Jenkinsfile
-rw-r--r-- | Jenkinsfile | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..73c4168 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,54 @@ +pipeline { + agent any + + environment { + ANDROID_HOME = "/var/jenkins_home/android-sdk" + JAVA_HOME = "/usr/lib/jvm/java-11-openjdk-amd64/" + + deploy_key = "srv.tt-rss.org" + deploy_host = "tt-rss.fakecake.org" + } + + stages { + stage('build') { + steps { + withCredentials([string(credentialsId: 'fdroid.jks', variable: 'FDROID_PASSWORD')]) { + sh("bash ./gradlew assembleFdroid " + + "-PFDROID_STORE_FILE=/var/jenkins_home/android-jks/fdroid.jks " + + "-PFDROID_STORE_PASSWORD=$FDROID_PASSWORD " + + "-PFDROID_KEY_ALIAS=fdroid " + + "-PFDROID_KEY_PASSWORD=$FDROID_PASSWORD") + } + } + } + stage('archive') { + steps { + archiveArtifacts '**/*.apk' + } + } + stage('deploy') { + steps { + sshagent(credentials: ["${deploy_key}"]) { + script { + def files = findFiles(glob: '**/*.apk') + + for (String file : files) { + sh("scp -oStrictHostKeyChecking=no ${file} ${deploy_host}:fdroid/repo/") + } + + sh("ssh -oStrictHostKeyChecking=no ${deploy_host} sudo /usr/local/sbin/fdroid-update-repo") + } + } + } + } + } + post { + failure { + mail body: "Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER}<br> build URL: ${env.BUILD_URL}", + charset: 'UTF-8', from: '[email protected]', + mimeType: 'text/html', + subject: "Build failed: ${env.JOB_NAME}", + to: "[email protected]"; + } + } +}
\ No newline at end of file |