Skip to content

Commit

Permalink
Merge pull request #1265 from zodern/1.5.4
Browse files Browse the repository at this point in the history
Mup 1.5.4
  • Loading branch information
zodern authored Sep 20, 2021
2 parents 6752efd + 6e4d9c7 commit ce92be7
Show file tree
Hide file tree
Showing 22 changed files with 598 additions and 195 deletions.
73 changes: 73 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Test
on: push

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.nodeVersion }}

- name: Install npm dependencies
run: npm ci

- name: Lint
run: npm run lint

unit-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.nodeVersion }}

- name: Install npm dependencies
run: npm ci

- name: Unit Tests
run: npm run test:unit

test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- nodeVersion: 8.x
testPlugins: "meteor"
testOptions: "--non-root"
- nodeVersion: 8.x
testPlugins: "docker,mongo,proxy,default"
testOptions: "--non-root"
- nodeVersion: 14.x
testPlugins: "meteor"
testOptions: ""
- nodeVersion: 14.x
testPlugins: "docker,mongo,proxy,default"
testOptions: ""
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Install Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.nodeVersion }}

- name: Install npm dependencies
run: npm ci

- name: Run tests
env:
TEST_PLUGINS: ${{ matrix.testPlugins }}
TEST_OPTIONS: ${{ matrix.testOptions }}
run: |
npm run test -- --plugins="$TEST_PLUGINS" $TEST_OPTIONS
22 changes: 0 additions & 22 deletions .travis.yml

This file was deleted.

23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
## vNext

- Increase worker_connections in nginx (@markdowney)
- When setting `config.privateDockerRegistry`, the host option is now optional and defaults to the docker hub registry
- Moved Prepare Bundle and Push Bundle to separate tasks. This will allow creating hooks that run between those two steps
- Before building the app, it now deletes the previous build. This should fix the very rare situations where mup deployed the previous build. This can be disabled by setting the `app.buildOptions.cleanBuildLocation` option to false
- Fix `mup status` when the config does not have a servers object
- Reduced unnecessary output in the deploy check script
- Mup now sets `config.app.buildOptions.buildLocation` to the default value while preparing the mup config, making the build location available to other plugins and hooks. You can also see the build location by running `mup validate --show`
- Fix `mup meteor status` when mup uses a non-root user on the server

**Prepare Bundle Locally**

Mup can build the docker image locally instead of on the remote server, which can be faster and avoids taking resources away from anything else running on the servers. This version has some fixes and performance improvements:

- When preparing the bundle locally, mup will try to use the docker registry api to change image tags instead of the much slower method of pulling and pushing the images
- Fix getting node version when `app.docker.prepareBundleLocally` is enabled (@Floriferous)
- Fix creating dockerignore file while building bundle locally. This should make building the docker image much faster

**Plugin API**

- `prepareConfig` is now passed an instance of the plugin api as the second argument

## 1.5.3 - December 8, 2020

- Fix getting node version when `app.docker.prepareBundleLocally` is enabled
Expand Down
11 changes: 8 additions & 3 deletions docs/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -477,10 +477,10 @@ Any files stored in `/images` by the app inside the docker container will persis

### Private Docker Registry

Mup uploads the app's bundle and builds a docker image (when prepare bundle is enabled) on each server, which is slow when there are many servers. When using a private docker registry, it is much faster:
Normally, mup uploads the app's bundle and builds a docker image (when prepare bundle is enabled) on each server, which is slow when there are many servers. When using a private docker registry, it is much faster:

1. Mup uploads the bundle to a single server, and builds the image there.
2. The image is stored in the private registry
2. The image is pushed to the private registry
3. On the other servers, mup will use the image from the private registry

To use a private registry, add the `dockerPrivateRegistry` option to your config:
Expand All @@ -490,16 +490,21 @@ module.exports = {
// ... rest of config

privateDockerRegistry: {
host: 'registry.domain.com',
username: 'username',
password: 'password',

// (optional) Hostname of registry. If not provided, defaults to the
// docker hub registry
host: 'registry.domain.com',

// (optional) The image name will start with this value.
imagePrefix: 'image-name-prefix-'
}
};
```

The image name is `mup-${app name}`. When an image prefix is supplied, the image is named `${imagePrefix}/mup-${app name}`.

Some registries, such as Gitlab's or Google Cloud's, require image names to start with a certain string. For example, the prefix for Google Cloud would be `eu.gcr.io/<project id>`, and for GitLab it would be `registry.gitlab.com/<group name>/<project name>`.

### Listening to specific IP address (IP Binding)
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ <h2>Simple Server Setup</h2>
</div>
<div style="clear: both;">
<h2>Confidently Deploy</h2>
<img style="float: right; margin: 0 0 20px 20px;" src="https://s7.gifyu.com/images/cli2.gif" width="450" />
<img style="float: right; margin: 0 0 20px 20px;" src="./imgs/cli2.gif" width="450" />
<p>Meteor Up was designed to meet the needs of Meteor apps. Other types of apps are supported through
plugins.
</p>
Expand Down
Loading

0 comments on commit ce92be7

Please sign in to comment.