On Tue, Jun 14, 2016 at 4:44 PM, Fitz Lee <[email protected]> wrote: > On Tue, Jun 14, 2016 at 5:53 PM, Thomas Mortagne <[email protected]> > wrote: > >> 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 >> > } >> > } >> > }
New jks key generated and put on agent 1-1 and variables set in /home/hudsonagent/.gradle/gradle.properties. >> > >> > 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. >> > > > Thank you so much for helping me ! :) > > Yes, (1) maybe it's not needed :) , (2) or I should only and manually start > a building job in jenkins once I finished a version. Because I should > write "What's new in this version?" in the google play console or in the > jenkins post build each time when releasing a new version app. (3) or > Maybe I can start a new dev branch in the github repository. And the master > branch can be only used as the release branch. When I finish a version, > merge the dev branch to master so that I can set the periodic build job in > jenkins. :) > > Thanks, > Fitz > > >> >> > >> > 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 >> > _______________________________________________ > 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

