{"id":13563648,"url":"https://github.com/bzon/gota","last_synced_at":"2025-07-11T20:31:55.562Z","repository":{"id":57504944,"uuid":"130143446","full_name":"bzon/gota","owner":"bzon","description":"An over the air cli tool to automate the beta testing distribution of your Android APK and iOS IPA files. (For Windows, OSX, and Linux - No dependencies required)","archived":false,"fork":false,"pushed_at":"2022-08-22T22:22:29.000Z","size":670,"stargazers_count":25,"open_issues_count":5,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-06T08:42:34.989Z","etag":null,"topics":["android","devops","fastlane","go","golang","ios","nexus","ota","overtheair","s3"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bzon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-19T01:43:47.000Z","updated_at":"2023-02-26T02:04:57.000Z","dependencies_parsed_at":"2022-09-19T09:50:50.982Z","dependency_job_id":null,"html_url":"https://github.com/bzon/gota","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/bzon/gota","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzon%2Fgota","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzon%2Fgota/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzon%2Fgota/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzon%2Fgota/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bzon","download_url":"https://codeload.github.com/bzon/gota/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bzon%2Fgota/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264892369,"owners_count":23679279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","devops","fastlane","go","golang","ios","nexus","ota","overtheair","s3"],"created_at":"2024-08-01T13:01:21.751Z","updated_at":"2025-07-11T20:31:55.000Z","avatar_url":"https://github.com/bzon.png","language":"Go","readme":"# NO MAINTENANCE NOTICE \n\nI don't maintain this repository anymore. Feel free to fork if needed.\n\n# About gota\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/bzon/gota)](https://goreportcard.com/report/github.com/bzon/gota)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/bzon/gota)\n[![GitHub tag](https://img.shields.io/github/tag/bzon/gota.svg)](https://github.com/bzon/gota/releases/)\n[![Total downloads](https://img.shields.io/github/downloads/bzon/gota/total.svg)](https://github.com/bzon/gota/releases/)\n\nAutomate the beta testing distribution of your Android and iOS application files.\n\n__gota__ is a just command line tool that you can easily integrate in your current continuous integration workflow with tools such as Fastlane.\n\n![](./docs/gota_workflow.png)\n\n__gota__ automatically detects the build information of your ipa or apk files and creates an OTA (over the air) installation site that is uploaded to your desired hosting server.\n\n|Android\t\t\t\t\t\t  |iOS\t\t\t\t\t\t\t  |\n|---------------------------------|-------------------------------|\n|![](./docs/samplesite_android.png)|![](./docs/samplesite_ios.png)|\n\n## Supported Static Hosting Service\n\n* [x] Amazon S3 Bucket\n* [x] Nexus 3 Site Repository\n* [ ] DigitalOcean Spaces \n* [ ] Standalone Gota Server\n* [ ] Nexus 2 Site Repository\n\n## Getting Started\n\n### Manual Installation\n\nGet the executable binary for your platform from the [Release Page](https://github.com/bzon/gota/releases/).\n\n#### Linux\n\n```bash\n# downloading via wget\nwget https://github.com/bzon/gota/releases/download/0.1.6/gota-linux-amd64\n\n# rename the executable\nmv gota-linux-amd64 gota\n\n# test gota\n./gota --version\n\n# command output\ngota version v0.1.6 linux/amd64\n```\n\n#### Windows\n\n```bash\n# downloading via wget\nwget https://github.com/bzon/gota/releases/download/0.1.6/gota-windows-amd64.exe\n\n# rename the executable\nmv gota-windows-amd64.exe gota.exe\n\n# test gota\ngota.exe --version\n\n# command output\ngota version v0.1.6 windows/amd64\n```\n\n#### OSX\n\n```bash\n# downloading via wget\nwget https://github.com/bzon/gota/releases/download/0.1.6/gota-darwin-amd64\n\n# rename the executable\nmv gota-darwin-amd64 gota\n\n# test gota\n./gota --version\n\n# command output\ngota version v0.1.6 darwin/amd64\n```\n\n### Go Installation\n\ngo get github.com/bzon/gota\n\n### Help Flags\n\nTo see the required flags, use the --help flag.\n\n```bash\ngota --help\ngota nexus --help\ngota s3 --help\n```\n\n### Uploading to S3 Bucket\n\nSet the AWS API key securely.\n\n```bash\nexport AWS_ACCESS_KEY=xxxxx\nexport AWS_SECRET_ACCESS_KEY=xxxxx\n```\n\nCommand input:\n\n```bash\ngota s3 --bucket example-s3-bucket --srcFile sample.ipa --destDir ios_bucket\n```\n\nCommand output:\n\n```bash\n2018/04/30 01:12:37 file uploaded: https://example-s3-bucket.s3.amazonaws.com/ios_bucket/1.0.0/4/appicon.png\n2018/04/30 01:12:37 file uploaded: https://example-s3-bucket.s3.amazonaws.com/ios_bucket/1.0.0/version.json\n2018/04/30 01:12:37 file uploaded: https://example-s3-bucket.s3.amazonaws.com/ios_bucket/1.0.0/4/index.html\n2018/04/30 01:12:37 file uploaded: https://example-s3-bucket.s3.amazonaws.com/ios_bucket/1.0.0/4/sample.ipa\n2018/04/30 01:12:37 file uploaded: https://example-s3-bucket.s3.amazonaws.com/ios_bucket/1.0.0/4/app.plist\n```\n\n__NOTE__:\n\nCurrently, gota assigns an AES256 encryption and a public-read ACL to all files that are uploaded. This may change to be configurable in the future.\n\n### Uploading to Nexus\n\nThe repository must be a [Raw Site Repository](https://help.sonatype.com/repomanager3/raw-repositories-and-maven-sites).\n\nSet the Nexus credentials securely.\n\n```bash\n# set the nexus credentials\n# this can also be set via command flags\nexport NEXUS_USER=admin\nexport NEXUS_PASSWORD=admin123\n```\n\nCommand input:\n\n```bash\ngota nexus --nexusHost http://localhost:8081 \\\n            --nexusRepo site \\\n            --destDir nexus_android_repo \\\n            --srcFile build/outpus/apk/sample.apk\n```\n\nCommand output:\n\n```bash\nfile uploaded: http://localhost:8081/repository/site/nexus_android_repo/1.0.0/10222333/appicon.png\nfile uploaded: http://localhost:8081/repository/site/nexus_android_repo/1.0.0/version.json\nfile uploaded: http://localhost:8081/repository/site/nexus_android_repo/1.0.0/10222333/index.html\nfile uploaded: http://localhost:8081/repository/site/nexus_android_repo/1.0.0/10222333/sample.apk\n```\n\n__NOTE__:\n\nCurrently supports only Nexus 3.\n\n### Extra Features\n\n__gota__ creates a `gotalink.txt` and `ipalink.txt` (if uploading an ipa) that contains the url or direct download link. If you are using a CI server, you can have it read these files for quickly getting the url that you can send to your team.\n\n### Site Directory Layout\n\n```bash\ndestDir\n\\__(ipa CFBundleShortVersion or apk versionName)\n   \\__version.json\n   \\__(ipa CFBundleVersion or apk versionCode)\n\t \\__appicon.png\n\t \\__(ipa or apk file)\n\t \\__app.plist (if ipa file)\n\t \\__index.html\n```\n\n## Developers\n\nIf you are on Windows, ensure to go get spf13/cobra's dependency for it.\n\n```bash\nGOOS=windows go get -v -u github.com/spf13/cobra\ngo get -v ./...\ngo test -v ./...\n```\n\n### Testing S3 Feature\n\nSet these environment variables before running `go test` in s3 package.\n\n```bash\nAWS_ACCESS_KEY=xxxxx\nAWS_SECRET_ACCESS_KEY=xxxxx\nGOTEST_AWS_BUCKET=example-bucket\n```\n\n### Testing Nexus Feature\n\nYou must have a Nexus 3 server running in your machine.\n\nGet it easily via docker command: `docker run -d -p 8081:8081 --name nexus3`.\n\nThen, create a Raw Repository with a repository id `site`.\n\n## Motivation\n\n* [Fastlane Nexus Upload](https://docs.fastlane.tools/actions/nexus_upload/)\n* [Fastlane S3 Plugin](https://github.com/joshdholtz/fastlane-plugin-s3/)\n* [Creating an Installation Link for your enterprise App](https://support.magplus.com/hc/en-us/articles/203808598-iOS-Creating-an-Installation-Link-for-Your-Enterprise-App)\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbzon%2Fgota","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbzon%2Fgota","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbzon%2Fgota/lists"}