Skip to content

A Buildkite plugin πŸ”Œ for pushing IPAs to S3 and annotating the build with a QR code.

License

Notifications You must be signed in to change notification settings

buildkite-plugins/ipa-to-s3-buildkite-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

IPA to S3 Buildkite Plugin Build status

A Buildkite plugin that will push an IPA to S3 and output both a link and a QR code as an annotation for easy download/install.

In order to push to S3, you will need to ensure that permissions are in place to perform PUT actions on buckets. The use of an additional plugin, such as AWS assume-role-with-web-identity is recommended.

This plugin requires the presence of the qrencode CLI tool, it can be installed for your instance using:

Ubuntu, Debian, Linux Mint:

apt install qrencode -y

Red Hat, Fedora, AlmaLinux, Rocky Linux, CentOS:

dnf install qrencode -y

Arch Linux and Manjro:

pacman -S qrencode --noconfirm

MacOS:

brew install qrencode

ℹ️ Using this plugin is still possible without the installation of qrencode, but you will need to set generate-qr-code to false in the pipeline.yaml (see opting out of qr generation)

Options

These are all the options available to configure this plugin's behaviour.

Required

title (string)

The title is the title/name of the application IPA being pushed.

bundle-id (string)

The bundle-id is the ID for the IPA bundle.

plist-path (string)

The plist-path is the path for the IPA properties list, in the format "app.plist".

s3-bucket (string)

The s3-bucket is the name of the bucket that the IPA should be pushed to. It is assumed that an authentication method has been used already and the required permissions are available.

Examples

steps:
  - label: "πŸš€ Push "
    plugins:
      - ipa-to-s3#v1.0.0:
            title: cool-app
            bundle-id: jdc.io.cool-app
            plist-path: app.plist
            s3-bucket: bucket-for-cool-app

In the above example, the ipa-path will default to cool-app.ipa.

Optional

ipa-pathΒ (string)

The ipa-path is the location, including extension, of the IPA in the form app-name.ipa.

Default: [title].ipa

generate-qr-codeΒ (boolean)

Whether or not a QR code should be posted as a build annotation. If set to false then no QR code will be posted as a build annotation.

Whether set to true or false, a link to download the app will still be posted as a build annotation. Setting to false removes the requirement for having qrencode available on the machine.

Default: true

Opting out of QR code generation

steps:
  - label: "πŸš€ Push "
    plugins:
      - ipa-to-s3#v1.0.0:
            title: cool-app
            bundle-id: jdc.io.cool-app
            plist-path: app.plist
            s3-bucket: bucket-for-cool-app
            generate-qr-code: false

In the above example, no QR code will be generated/posted as a build annotation.

Specifying an IPA path

steps:
  - label: "πŸš€ Push "
    plugins:
      - ipa-to-s3#v1.0.0:
            title: cool-app
            bundle-id: jdc.io.cool-app
            plist-path: app.plist
            ipa-path: not-a-cool-app.ipa
            s3-bucket: bucket-for-cool-app

Where the ipa-path doesn't use the title it can be set separately.

βš’ Developing

You can use the bk cli to run the pipeline locally:

bk local run

πŸ‘©β€πŸ’» Contributing

Your policy on how to contribute to the plugin!

πŸ“œ License

The package is available as open source under the terms of the MIT License.

About

A Buildkite plugin πŸ”Œ for pushing IPAs to S3 and annotating the build with a QR code.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages