-
Type: Task
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: iOS 1.6, Android 1.3
-
Sprint:nxfit 9.1.5
-
Story Points:5
Let's refactor deploy-nuxeo-mobile-ios to:
- Split it into 2 jobs: deploy-nuxeo-mobile-ios-testflight and deploy-nuxeo-mobile-ios-appstore. That will be clearer as the first one should be an automatic job triggered on push every time the master branch is merged into the release-ios branch, and the second one should be launched manually.
- Use Pipeline to experiment it on these quite simple jobs.
Using Groovy will probably simplify statements such as:
- deploy-nuxeo-mobile-ios-testflight must only perform the deployment if the commit message doesn't contain "Release", which is currently done with the Conditional steps plugin.
- deploy-nuxeo-mobile-ios-appstore cannot be launched if deploy-nuxeo-mobile-ios-testflight isn't blue.
Here are some interesting links about Pipeline:
- Job sample using a Pipeline script within the job: https://qa.nuxeo.org/jenkins/job/Private/job/deploy-nuxeo.com-staging/configure
- Pipeline syntax generator: choose a step and it generates the Groovy!
https://qa.nuxeo.org/jenkins/job/Private/job/deploy-nuxeo.com-staging/pipeline-syntax/ - Global variable reference: https://qa.nuxeo.org/jenkins/job/Private/job/deploy-nuxeo.com-staging/pipeline-syntax/globals
- Job sample using a Jenkinsfile: https://qa.nuxeo.org/jenkins/job/Client/job/nuxeo-automation-php-client-master/configure, Jenkinsfile: https://github.com/nuxeo/nuxeo-automation-php-client/blob/2.0-rewrite/Jenkinsfile
Note about using a Jenkinsfile: the problem right now is that Jenkins will do a first checkout from SCM to get the Jenkinsfile, then the Pipeline script itself will do another checkout of the same repository to perform the job tasks, that's not optimized.