Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Auto Release @potatochips#48

Avatar for TakuSemba TakuSemba
February 17, 2018

Auto Release @potatochips#48

Avatar for TakuSemba

TakuSemba

February 17, 2018
Tweet

More Decks by TakuSemba

Other Decks in Programming

Transcript

  1. Release Step ɾpublish APK for alpha (Auto) ɾpublish APK for

    production (Manual) ɾmake a release note (Auto)
  2. Release Step ɾpublish APK for alpha (Auto) ɾpublish APK for

    production (Manual) ɾmake a release note (Auto)
  3. apply plugin: ‘com.github.triplet.play' android { playAccountConfigs { defaultAccountConfig { serviceAccountEmail

    = 'your-service-account-email' pk12File = file('key.p12') } } defaultConfig { // ... playAccountConfig = playAccountConfigs.defaultAccountConfig } } build.gradle
  4. apply plugin: ‘com.github.triplet.play' android { playAccountConfigs { defaultAccountConfig { serviceAccountEmail

    = 'your-service-account-email' pk12File = file('key.p12') } } defaultConfig { // ... playAccountConfig = playAccountConfigs.defaultAccountConfig } } build.gradle apply plugin: ‘com.github.triplet.play'
  5. apply plugin: ‘com.github.triplet.play' android { playAccountConfigs { defaultAccountConfig { serviceAccountEmail

    = 'your-service-account-email' pk12File = file('key.p12') } } defaultConfig { // ... playAccountConfig = playAccountConfigs.defaultAccountConfig } } build.gradle defaultAccountConfig { serviceAccountEmail = 'your-service-account-email' pk12File = file('key.p12') }
  6. apply plugin: ‘com.github.triplet.play' android { playAccountConfigs { defaultAccountConfig { serviceAccountEmail

    = 'your-service-account-email' pk12File = file('key.p12') } } defaultConfig { // ... playAccountConfig = playAccountConfigs.defaultAccountConfig } } build.gradle defaultConfig { // ... playAccountConfig = playAccountConfigs.defaultAccountConfig }
  7. play { track = 'alpha' userFraction = 1 untrackOld =

    false errorOnSizeLimit = false uploadImages = true } build.gradle
  8. Release Step ɾpublish APK for alpha (Auto) ɾpublish APK for

    production (Manual) ɾmake a release note (Auto)
  9. Release Step ɾpublish APK for alpha (Auto) ɾpublish APK for

    production (Manual) ɾmake a release note (Auto)
  10. curl -X POST \ https://api.github.com/repos/TakuSemba/RepoName/releases \ -H 'Authorization: token abcdefg’

    \ -d '{ "tag_name": "release-3.0.15", "target_commitish": "release", "name": "release-3.0.15", "body": "Description of the release", "draft": true, "prerelease": false }'
  11. curl -X POST \ https://api.github.com/repos/TakuSemba/RepoName/releases \ -H 'Authorization: token abcdefg’

    \ -d '{ "tag_name": "release-3.0.15", "target_commitish": "release", "name": "release-3.0.15", "body": "Description of the release", "draft": true, "prerelease": false }' https://api.github.com/repos/TakuSemba/RepoName/releases \
  12. curl -X POST \ https://api.github.com/repos/TakuSemba/RepoName/releases \ -H 'Authorization: token abcdefg’

    \ -d '{ "tag_name": "release-3.0.15", "target_commitish": "release", "name": "release-3.0.15", "body": "Description of the release", "draft": true, "prerelease": false }' -d '{ "tag_name": "release-3.0.15", "target_commitish": "release", "name": "release-3.0.15", "body": "Description of the release", "draft": true, "prerelease": false }'
  13. When release tag pushed If TAG=$(git describe --exact-match --tags HEAD)

    if echo ${TAG} | grep -v release-; then echo "tag: " ${TAG} echo "failed: tag name does not contain 'release-'." exit 1 fi DIFF=$(git diff origin/release..${TAG}) if [ -n "$DIFF" ]; then echo ${DIFF} echo "failed: between origin/release and " ${TAG} " has diffs" exit 1 fi