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

Auto Release @potatochips#48

TakuSemba
February 17, 2018

Auto Release @potatochips#48

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