Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ekreative/xcode-build-tools
A few bash scripts to help with building ios apps
https://github.com/ekreative/xcode-build-tools
xcode
Last synced: about 1 month ago
JSON representation
A few bash scripts to help with building ios apps
- Host: GitHub
- URL: https://github.com/ekreative/xcode-build-tools
- Owner: ekreative
- License: mit
- Created: 2015-11-20T12:48:38.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-07-06T19:18:30.000Z (over 2 years ago)
- Last Synced: 2024-11-17T09:53:25.221Z (about 1 month ago)
- Topics: xcode
- Language: JavaScript
- Size: 489 KB
- Stars: 21
- Watchers: 6
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Xcode build tools
A few scripts for our CI server
[![Version](https://img.shields.io/npm/v/xcode-build-tools.svg)](https://www.npmjs.com/package/xcode-build-tools)
[![License](https://img.shields.io/npm/l/xcode-build-tools.svg)](https://www.npmjs.com/package/xcode-build-tools)
[![Build Status](https://travis-ci.org/ekreative/xcode-build-tools.svg?branch=master)](https://travis-ci.org/ekreative/xcode-build-tools)Install with `npm install xcode-build-tools`
## `add-keys`
Usage: add-keys [options]
Creates a new Keychain and sets as the default. Imports keys and certificates to it and enables build tool access
WARNING: Changes your default keychain
Options:
-h, --help output usage information
-V, --version output the version number
-k, --keychain-name Keychain Name - default APP_NAME
--timeout Keychain password timeout - default 1 hour
--apple-cert Apple WWDR certificate - default download from apple
--app-certs List of app sigining certificates - default APP_CER
--app-keys List app sigining keys - default APP_KEY
--app-key-passwords App sigining key password or list of passwords - default KEY_PASSWORD
--provisioning-profiles Provisioning profiles - default PROVISIONING_PROFILE
--codesign Programs that should be able to use the certificates - default codesign, productbuild
## `remove-keys`Usage: remove-keys [options]
Delete a keychain and provisioning profiles
Options:
-h, --help output usage information
-V, --version output the version number
-k, --keychain-name Keychain Name - default APP_NAME
--provisioning-profiles Provisioning profiles - default PROVISIONING_PROFILE
## `create-ipa`
Usage: create-ipa [options]
Create an .ipa file from an .app
Options:
-h, --help output usage information
-V, --version output the version number
-k, --keychain-name Keychain Name - default APP_NAME
--developer-name Developer name to use - CODE_SIGN_IDENTITY
--ipa Ipa file to create - default build/Release-iphoneos/$APP_NAME.ipa
--app App file to convert - default build/Release-iphoneos/$APP_NAME.app
--provisioning-profile Provisioning profile - default PROVISIONING_PROFILE## `upload-ipa`
Usage: upload-ipa [options]
Upload ipa file to testbuild.rocks and (optional) send a link to slack
Options:
-h, --help output usage information
-V, --version output the version number
-p, --project-id Project Id - default PROJECT_ID
--server Alternative server address
--ipa Ipa file to upload - default build/Release-iphoneos/$APP_NAME.ipa
--key Test build rocks key - default TEST_BUILD_ROCKS_KEY
-s, --slack-hook Slack Hook - default SLACK_URL
-c, --slack-channel Slack Channel - default SLACK_CHANNEL
-m, --message Test build rocks message
## `upload-apk`Usage: upload-apk [options]
Upload apk file to testbuild.rocks and (optional) send a link to slack
Options:
-h, --help output usage information
-V, --version output the version number
-p, --project-id Project Id - default PROJECT_ID
--apk Apk file to upload - default app/build/outputs/apk/app-release.apk
--key Test build rocks key - defaul tTEST_BUILD_ROCKS_KEY
-s, --slack-hook Slack Hook - default SLACK_URL
-c, --slack-channel Slack Channel - default SLACK_CHANNEL
-m, --message Test build rocks message## `create-release`
Usage: create-release [options]
Create a new release on GitLab
Options:
-h, --help output usage information
-V, --version output the version number
--server GitLab server
--token Api key
--project-id Project Id
--tag-name Tag name
--ref Git ref
-n, --notes Release notes## Summary of env vars
* `APP_NAME` - Name of the app to build eg "Kidslox"
To install keys
* `PROVISIONING_PROFILE` - Location of provisioning profile
* `APP_CER` - Location of your signing cert
* `APP_KEY` - Location of the matching key
* `KEY_PASSWORD` - Password to the signing key
* `CODE_SIGN_IDENTITY` - Name of the developer eg 'iPhone Distribution: Developer'Upload builds
* `TEST_BUILD_ROCKS_KEY` - API key for testbuild.rocks to upload
* `PROJECT_ID` - Project id for testbuild.rocksGet slack notifications
* `SLACK_URL` - Slack hook to notify of upload (or `SLACK_HOOK`)
* `SLACK_CHANNEL` - Override the hook channelCreate release
* `GITLAB_API_TOKEN` - Token that gives access to the GitLab API to create a new release
GitLab CI Variables used
* `CI_PROJECT_ID` - GitLab project id
* `CI_PROJECT_URL` - GitLab project url
* `CI_COMMIT_SHA` - Current git commit
* `CI_JOB_ID` - Current job number
* `CI_COMMIT_REF_SLUG` - Current branch name (url friendly)