Neverending Perpetual Motion

    bosco-s3

    0.0.3 • Public • Published

    Bosco-s3

    Bosco is a utility knife to help manage the complexity that using microservices, which naturally results in a large number of code repositories, brings with it. Inspired by the Github 'setup', e.g. can a developer run one simple command and get up and running?

    Docs: https://bosco.readme.io/v0.4.0/docs/what-is-bosco

    Please refer to the bosco documentation here https://github.com/tes/bosco, you can use this package to push assets to s3 using continuous integration without having to depend on the entire bosco.

    Command List

    Commands in Bosco are defined via specific command files within the 'commands' folder: https://github.com/tes/bosco/tree/master/commands.

    To get help on any command just type;

    bosco-s3 help s3push
    

    Parameters

    You can use a number of parameters to control the behaviour of Bosco. Parameters are configuration options that can be used across commands.

    parameter description default
    -e, --environment Environment name local
    -b, --build Build number or tag default
    -c, --configFile Config file ~/.bosco/bosco.json
    -p, --configPath Config path ~/.bosco/bosco.json
    -n, --noprompt Do not prompt for confirmation false
    -f, --force Force over ride of any files false
    -s, --service Inside single service false
    --nocache Ignore local cache for github projects false
    --offline Ignore expired cache of remote service data and use local if available false

    To see all possible commands and parameters, just type 'bosco'.

    S3 Push

    This will create bundles for front end assets (JS, CSS, Templates), this command can be run across repositories in a workspace, but it is typically run within a single service (hence the -s parameter below) by a build server that dynamically assigns a build number.

    bosco-s3 s3push -s -e <environment> -b <buildnumber>
    

    This command requires that you have configured your AWS details for S3. Best to put these into a .bosco folder in the project workspace a per environment config, e.g. .bosco/tes.json.

    {
        "aws": {
            "key": "XXXXXX",
            "secret": "XXXXXX",
            "bucket": "bucket-name",
            "region": "eu-west-1",
            "cdn": "https://dudu89lpwit3y.cloudfront.net"
        }
    }
     

    To then access the html fragments for compoxure, it follows a simple convention:

    <cdn>/<environment>/<build>/<type>/<bundle>.<fragmentType>.<js|css|html|map|txt>
    

    For example:

    This would contain a fragment that has script a tag for all of the minified JS tagged in the bottom group.

    Install

    npm i bosco-s3

    DownloadsWeekly Downloads

    0

    Version

    0.0.3

    License

    MIT

    Unpacked Size

    2.16 MB

    Total Files

    66

    Last publish

    Collaborators

    • tesglobaladmin