npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@panter/catladder-build

v1.1.0

Published

panter deploy tool for meteor apps

Downloads

20

Readme

Build Status semantic-release

catladder-build 🐱 🔧

panter build & deploy tool for meteor apps

Why another tool?

The most famous meteor deploy tool (meteor-up) uses docker and does not match our current setup. So I decided to create a tool that integrates well in our setup and reduces security issues with keys, app secrets, etc. by embracing pass.

Also building cordova apps needs some scripts (in particular android).

gitlab CI integration

Some commands also work on gitlab ci and can be used to deploy the app there. (look for the cat 🐱🔧CI )

Contribution

Check the docu here.

Usage

npm install -g @panter/catladder-build

Preconditions:

  • Server should be set up for current meteor apps (has node installed (version 4) and mongodb with oplog enabled).
  • if you plan to build android apps, make sure that you have android build tools installed (min version 25, max 27.0.3) and ANDROID_HOME is set.
  • only tested on OS X atm.
  • ** make sure that your pass is working! **

Initialize new project & setup environments

in the root of your project invoke

catladder init

this will ask you for some params and create a .catladder.yaml-file which stores the configuration for the project. You can (and should) safely add this file to git. Secrets will be stored in pass.

To create or update an environment (e.g. "staging"):

catladder setup <environment> (e.g. catladder setup staging)

This will ask for additional properties and create a new file in pass at "/customer/appname/environment/env.yaml" which you can edit. This file can contain any secret that the server needs to know, e.g. amazon access keys, etc.

After saving catladder creates a env.sh on the server under ~/app/env.sh which contains environment-variables for the server. (Warning: this file gets overwritten!)

You need to restart the server if you want to apply these changes

Restart server (🐱🔧CI)

catladder restart <environment>

Deploy app (🐱🔧CI)

catladder deploy <environment>

this will create a bundle of the app (with meteor build), upload it to the server and restart the server.

Mobile apps

Preconditions

  • add platforms to meteor: meteor platform-add ios android (in the meteor app directory)

  • For android you first need to invoke

catladder android-init <environment>

this will create a keystore-file which you can checkin to git. The corresponding password will be created in pass.

Build mobile apps

catladder build-apps <environment>

This will create and sign an android apk file and an xcode project, where you can upload the app to the app store.

ROADMAP:

  • integrate with meteor's mobile-config.js (maybe autocreate it)
  • autogenerate gitlab-ci-config file
  • allow to show logs on the server remotely
  • Allow to specify multiple instances (load-balancing) and scale up and down