Skip to content

Instantly share code, notes, and snippets.

stage('Inform Slack for success') {
when {
expression {
return env.shouldBuild != "false"
}
}
steps {
slackSend color: "good", message: "*${env.JOB_NAME}* *${env.BRANCH_NAME}* job is completed successfully"
}
}
post {
failure {
slackSend color: "danger", message: "*${env.JOB_NAME}* *${env.BRANCH_NAME}* job is failed"
}
unstable {
slackSend color: "danger", message: "*${env.JOB_NAME}* *${env.BRANCH_NAME}* job is unstable. Unstable means test failure, code violation etc."
}
}
lane :refreshJenkinsKeychain do
delete_keychain(name: "jenkins") if File.exists? File.expand_path("~/Library/Keychains/jenkins-db")
create_keychain(
name: "jenkins",
password: "jenkins",
timeout: false,
lock_when_sleeps: false,
unlock: true
)
end
stage('Reinitialize jenkins keychain') {
when {
expression {
return env.shouldBuild != "false"
}
}
steps {
sh "fastlane refreshJenkinsKeychain"
}
}
docker run -d -v jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:2.180
docker pull jenkins/jenkins:2.180
stage('Populate Jenkins Keychain') {
when {
expression {
return env.shouldBuild != "false"
}
}
steps {
sh "fastlane matchPopulateJenkinsKeychain"
}
}
lane :matchPopulateJenkinsKeychain do
register_devices(devices_file: "./fastlane/devices.txt")
match(
type: "adhoc",
app_identifier: [
"my.app.identifier"
]
)
match(
stage('Install Pods') {
when {
expression {
return env.shouldBuild != "false"
}
}
steps {
sh "pod install --deployment --repo-update"
}
}
stage('Increment build number') {
when {
expression {
return env.shouldBuild != "false"
}
}
steps {
sh "fastlane incrementBuildNumberAndCommit"
}
}