On Mon, Jun 13, 2016 at 3:34 PM, fitz <[email protected]> wrote: > Release Android App Automatically and Securely > > There are mainly two steps: (1) Generate the signed apk (2) Release to the > google play store. > Generate the signed apk automatically: > > 1. (Need Help) Generate keystore file > > Use Command Line: > https://developer.android.com/studio/publish/app-signing.html#signing-manually > keytool -genkey -v -keystore my-release-key.keystore -alias alias_name > -keyalg RSA -keysize 2048 -validity 10000 > Or use Android studio: > https://developer.android.com/studio/publish/app-signing.html#release-mode > > Maybe we should generate a new, secure and stable private key for the future > android development and release. WDYT? > > 2. (Need Help) Define gradle global values: > > (Gradle user home: /home/hudsonagent/.gradle in > jenkins)(http://stackoverflow.com/questions/18328730/how-to-create-a-release-signed-apk-file-using-gradle) > To ensure the security of the keystore, we can’t directly put the > key_password, key_alias, store_password values in the github source. So > where do we define these values? The gradle global properties may be a good > choice. First we should define some global properties for all Gradle builds > in the USER_HOME/.gradle/gradle.properties. For the jenkins server, > GRADLE_USER_HOME = /home/hudsonagent/.gradle. If no gradle.properties file, > just create a new file and add the following properties. > > # android release key username and password > RELEASE_STORE_FILE=F:\\xwiki\\AndroidAuthKey.jks > RELEASE_STORE_PASSWORD=android > RELEASE_KEY_ALIAS=authenticator > RELEASE_KEY_PASSWORD=android > > I have no right to login and access the jenkins agent-1, so could you help > me create the global gradle.properties file in /home/hudsonagent/.gradle and > correctly set the four properties. Thanks in advance. :) > > 3. Add the following code to build.gradle > > > if(project.hasProperty("RELEASE_STORE_FILE")) { > signingConfigs { > release { > storeFile file(RELEASE_STORE_FILE) > storePassword RELEASE_STORE_PASSWORD > keyAlias RELEASE_KEY_ALIAS > keyPassword RELEASE_KEY_PASSWORD > } > } > } > > buildTypes { > if(project.hasProperty("RELEASE_STORE_FILE")) { > release { > signingConfig signingConfigs.release > } > } > } > > 4. Gradle clean build > -> then we can generate app-release.apk signed by the keystore in jenkins.
Will do as soon as I get back access to agent 1-1. > > > Release automatically in Google play store: > > > 1. (Need Help) Setup for Google API access: > > Following this link: > https://github.com/codepath/android_guides/wiki/Automating-Publishing-to-the-Play-Store. > Set the google api access and download the p12 key file. > But I have no permission to configure API access. It shows in the google > play console: > <http://xwiki.475771.n2.nabble.com/file/n7599946/api_access.png> > > So could you help me configure the API access? Or maybe should download the > p12 key file. Thank you in advance. :) > > 2. (Need Help) Jenkins plugin Settings: > > (1) Install the jenkins plugin "Google Play Android Publisher plugin" > (2) Add Credentials and import the p12 key file downloaded during the first > step of setting up Google API access. > <http://xwiki.475771.n2.nabble.com/file/n7599946/add_credentials.png> > > 3. Add a post-build step to your existing Jenkins project. > > <http://xwiki.475771.n2.nabble.com/file/n7599946/post_build.png> > > That’s all I can think of right now. I have tried and generated the release > apk in the jenkins server on my local computer. As I have no permission to > configure the google play api, so now I haven’t tried the automated release. > I don't know if this method is the best for the automated and secure release > of the android open source project, but it should be feasible. > > What do you think? :) I'm not sure "automated release" is such a need. Configure agent 1-1 to do release from it, sure. Agent 1-1 is XWiki's release agent so why not making it Android Authenticator release agent (we have to put the key somewhere). But a release of Android Authenticator should be a conscious decision IMO and you should do that only when you are sure the branch is OK. > > Thanks, > Fitz > > > > > -- > View this message in context: > http://xwiki.475771.n2.nabble.com/contrib-android-authenticator-About-Releasing-Android-App-Automatically-and-Securely-tp7599946.html > Sent from the XWiki- Dev mailing list archive at Nabble.com. > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

