
- #Jenkins dropbox plugin apk#
- #Jenkins dropbox plugin android#
Lastly, I copied the successful builds to a Dropbox folder on our build server, and let the Dropbox application upload the files (not the best solution, but the quickest). I found the correct command line arguments to build, package, and sign our APKs.
#Jenkins dropbox plugin android#
I found a way to setup MSBuild to modify the Android version numbers in our manifest file.I also double-checked the build action, and if a file is linked-in or not. I validated the *.csproj file by looping through tags and comparing against file lists we created.I validated the Android manifest with a list of XPath expressions.
#Jenkins dropbox plugin apk#
Additionally, if we had to make each APK by hand from inside Visual Studio, we would have wasted a lot of time with a tight deadline looming overhead. Hand creating these projects without validation of needed files would have been a nightmare. If we hadn’t have done this, I would say our task would have been impossible.
Normally we’d use TestFlight, but the app name being 画个火柴人 for every store, you cannot easily differentiate builds with the same app name on TestFlight. Setup Jenkins to upload the APKs to Dropbox. Setup our CI server, Jenkins, to package up 20 APKs. Setup something to replace the version numbers in the AndroidManifest.xml file to match our source control revision number. Validate the csproj file for each app store, of required files. I’d write a test of unit tests that have the sole purpose of validating each project. So I quickly came up with the following approach, which is probably the only thing that has kept us sane: You can imagine this would be a daunting task, and can feel the pain with a Visual Studio solution that looks like this: So our huge challenge (apart from integrating IAPs for these app stores) was that we needed to build 20 APKs with various package names, settings, images, jar files, etc. Combine this with ultra-micro IAPs, you can charge as little as 1 CNY (or ⅙ of a USD), and freemium apps become a very attractive way to monetize. You can buy an Android 2.3 device for about $16 US, so the Android market is pretty ripe for the taking. Our iOS version of the app has been released for a while, but not with the success that is possible on Android. IOS is not a huge player over there, since iPhones have a luxury tax on them-only the truly rich can afford it. Several of the stores are mobile providers, such as China Mobile, and run payments through users’ cell phone plan (which is prepaid a lot of the time). Google Play is not available in China, so many small stores popped up all over the country to fill the gap. China’s Android app market is a strange place, and it has somewhere around 30 app stores. Gitsite: /jenkinsci/maven-site.Recently at Hitcents we have been working on deploying our Android version of Draw a Stickman: EPIC to app stores across China. Scm:git: :jenkinsci/stashnotifier-plugin.git Scm:git:git:///jenkinsci/stashnotifier-plugin.git Here are the relevant (I think) parts of my effective pom: I'm running maven 3.0.5 (without -dry-run or -DpushChanges=false). Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier & git ls-files
Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier & git push :jenkinsci/stashnotifier-plugin.git stashNotifier-1.0.2 Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier & git tag -F /var/folders/dr/xxbtyycs1z9dl2_snlj87zrh0000gn/T/mit stashNotifier-1.0.2 Tagging release with the label stashNotifier-1.0.2. Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier & git status Working directory: /Users/gruetter/Dropbox/stashNotifier Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier & git add - pom.xml Unfortunately, the pom.xml already contains the next development version, which in turn causes a subsequent release:perform to release that snapshot version.įrom the command output of maven, it almost looks like it's omitting the git commit command: Checking in modified POMs. * 792766a added distribution management section to pom.xml and amended readme.mdĪnd this is what it looks like after * df60768 (HEAD, tag: stashNotifier-1.0.2, origin/develop, develop) upgraded parent pom to version 1.498 This is what my local branch looks like before preparing the release * df60768 (HEAD, origin/develop, develop) upgraded parent pom to version 1.498 Even though it does tag the HEAD of the branch on which I'm trying to release version 1.0.2. Runs to completion without errors but fails to commit the changed pom.xml in my local git repository. I'm trying to release a Jenkins plugin ( stashNotifier) with Maven and face a problem with the release plugin.