Compare commits
84 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bf5730895 | |||
| 0c733d3a90 | |||
| 1007880f8c | |||
| 4ec2503671 | |||
| b1814a60d5 | |||
| aed0fee59f | |||
| fc53a7e3f0 | |||
| 6ee919ac34 | |||
| 1b8680edff | |||
| 67f4456073 | |||
| b2835bd220 | |||
| a0a2cc2eda | |||
| e8c24d504c | |||
| 866346a0a5 | |||
| 04ea46f681 | |||
| cd858ae9fa | |||
| dc28ada99a | |||
| 09c78e9577 | |||
| 7525d1af5c | |||
| 043651bfac | |||
| 621fff81c3 | |||
| b0e8ff164f | |||
| 21ce311be3 | |||
| c030b94bc6 | |||
| 221fd422d6 | |||
| 04e29ffd5e | |||
| bc58522b12 | |||
| 42760d7aeb | |||
|
|
a93e26ce98 | ||
| a442040021 | |||
| 87678e9bf4 | |||
| 23a4df0c35 | |||
|
|
2fe58c23c3 | ||
| 40fa047c24 | |||
| e8c45ba38b | |||
| 22adbef520 | |||
|
|
774a9a3e91 | ||
| f829c38137 | |||
| 6f27262366 | |||
| 5ee60a65d6 | |||
| 97f371890b | |||
| 8630f4920d | |||
|
|
cefe591b2a | ||
| 87bc1f267a | |||
| ced7c75cba | |||
| 371c7c11ea | |||
| a112bba2e1 | |||
|
|
9aff193ef9 | ||
| 37e997ebf2 | |||
| 864ebf39a8 | |||
| 27b65ae64a | |||
| cf8f10d032 | |||
|
|
9e10b04105 | ||
|
|
5d0fc29252 | ||
|
|
d27f9f11ae | ||
|
|
10bb62cc01 | ||
| 886211f908 | |||
| e49776862e | |||
| 2c6ffe34fc | |||
| 56a1bc4e0f | |||
| 2d0bc35096 | |||
| fc8de3e5d1 | |||
| dfaf401f1b | |||
| 6ad80e7aa9 | |||
| 99c9645108 | |||
| 6499eedc7b | |||
|
|
4c75ba6e3f | ||
|
|
53c013da51 | ||
|
|
fd432a3f16 | ||
|
|
c8a92cc2e2 | ||
|
|
d6ac184f9f | ||
|
|
c8db76b050 | ||
|
|
c587638b90 | ||
|
|
e20c79b3ab | ||
|
|
ae78db3097 | ||
|
|
e5ad68e7ca | ||
|
|
6bd6665f63 | ||
|
|
19deb73114 | ||
|
|
e08088c520 | ||
|
|
30c57e2f3a | ||
|
|
c81f3446c2 | ||
|
|
b4e13ceffe | ||
| b8d3094ad7 | |||
| f3b85d94eb |
54
.gitlab-ci.yml
Normal file
54
.gitlab-ci.yml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
image: hosttoday/ht-docker-dbase:latest
|
||||||
|
services:
|
||||||
|
- docker:dind
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
- test
|
||||||
|
- release
|
||||||
|
- trigger
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- npm uninstall -g npmci
|
||||||
|
- npm install -g npmci
|
||||||
|
- npmci prepare docker
|
||||||
|
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- npmci build docker
|
||||||
|
tags:
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
|
||||||
|
|
||||||
|
test:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- npmci test docker
|
||||||
|
tags:
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
|
||||||
|
release:
|
||||||
|
stage: release
|
||||||
|
script:
|
||||||
|
- npmci publish docker
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
- triggers
|
||||||
|
tags:
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
stage: trigger
|
||||||
|
script:
|
||||||
|
- npmci trigger
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
- triggers
|
||||||
|
tags:
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
43
Dockerfile
43
Dockerfile
@@ -1,36 +1,29 @@
|
|||||||
FROM debian
|
FROM ubuntu:latest
|
||||||
|
|
||||||
# Replace shell with bash so we can source files
|
# important environment variables
|
||||||
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
|
ENV NODE_VERSION_LTS="6.10.0" NODE_VERSION_STABLE="7.7.2" NVM_DIR="/usr/local/nvm"
|
||||||
|
|
||||||
# Set debconf to run non-interactively
|
# Set debconf to run non-interactively and install packages
|
||||||
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections \
|
||||||
|
&& apt-get update \
|
||||||
# Install base dependencies
|
&& apt-get upgrade --no-install-recommends -y \
|
||||||
RUN apt-get update && apt-get install -y -q --no-install-recommends \
|
&& apt-get install -y -q --no-install-recommends \
|
||||||
|
software-properties-common \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
build-essential \
|
build-essential \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
git \
|
git \
|
||||||
libssl-dev \
|
ssh \
|
||||||
|
openssl \
|
||||||
python \
|
python \
|
||||||
rsync \
|
rsync \
|
||||||
software-properties-common \
|
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
||||||
wget \
|
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& apt-get update \
|
||||||
|
&& apt-get install yarn -y \
|
||||||
ENV NVM_DIR /usr/local/nvm
|
&& apt-get clean \
|
||||||
ENV NODE_VERSION 4.3.1
|
&& rm -r /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install nvm with node and npm
|
# Install nvm with node and npm
|
||||||
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash \
|
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
|
||||||
&& source $NVM_DIR/nvm.sh \
|
|
||||||
&& nvm install $NODE_VERSION \
|
|
||||||
&& nvm alias default $NODE_VERSION \
|
|
||||||
&& nvm use default
|
|
||||||
|
|
||||||
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
|
|
||||||
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
|
|
||||||
RUN node -v
|
|
||||||
RUN npm -v
|
|
||||||
|
|||||||
10
Dockerfile_lts
Normal file
10
Dockerfile_lts
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
FROM hosttoday/ht-docker-node:latest
|
||||||
|
|
||||||
|
RUN bash -c "source $NVM_DIR/nvm.sh \
|
||||||
|
&& nvm install $NODE_VERSION_LTS \
|
||||||
|
&& nvm alias default $NODE_VERSION_LTS \
|
||||||
|
&& nvm use default \
|
||||||
|
&& npm install -g npm"
|
||||||
|
|
||||||
|
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_LTS/lib/node_modules
|
||||||
|
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH
|
||||||
5
Dockerfile_mongo
Normal file
5
Dockerfile_mongo
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
FROM hosttoday/ht-docker-node:stable
|
||||||
|
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y mongodb-org
|
||||||
2
Dockerfile_npmci
Normal file
2
Dockerfile_npmci
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
FROM hosttoday/ht-docker-node:stable
|
||||||
|
RUN npm install -g npmci
|
||||||
10
Dockerfile_stable
Normal file
10
Dockerfile_stable
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
FROM hosttoday/ht-docker-node:latest
|
||||||
|
|
||||||
|
RUN bash -c "source $NVM_DIR/nvm.sh \
|
||||||
|
&& nvm install $NODE_VERSION_STABLE \
|
||||||
|
&& nvm alias default $NODE_VERSION_STABLE \
|
||||||
|
&& nvm use default \
|
||||||
|
&& npm install -g npm"
|
||||||
|
|
||||||
|
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION_STABLE/lib/node_modules
|
||||||
|
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION_STABLE/bin:$PATH
|
||||||
30
README.md
Normal file
30
README.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# ht-docker-node
|
||||||
|
|
||||||
|
This image is available on DockerHub. Specify it as base image like so:
|
||||||
|
|
||||||
|
```Dockerfile
|
||||||
|
FROM hosttoday/ht-docker-node
|
||||||
|
```
|
||||||
|
|
||||||
|
## Status
|
||||||
|
[](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
The purpose of this Docker image is to provide a robust base for node apps and CI.
|
||||||
|
It comes in different flavours and all of them have node, npm, git and ssh in PATH.
|
||||||
|
|
||||||
|
The **:npmci flavour** has npmci in path and can install any required node version and update PATH accordingly:
|
||||||
|
|
||||||
|
```Dockerfile
|
||||||
|
FROM hosttoday/ht-docker-node:npmci
|
||||||
|
RUN npmci install [node_version_number] // this installs node using node and sets the default to the new node and npm versions
|
||||||
|
```
|
||||||
|
|
||||||
|
## Flavour Overview:
|
||||||
|
|
||||||
|
* **:lts** - node lts version, equals :latest
|
||||||
|
* **:stable** - node stable version
|
||||||
|
* **:npmci** - npmci preinstalled
|
||||||
|
* **:npmts** - npmci + npmts preinstalled
|
||||||
|
* **:npmpage** - npmci + npmts + npmpage preinstalled
|
||||||
|
* **:mongo** - npmci + npmts + mongo
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ht-docker-node",
|
"name": "ht-docker-node",
|
||||||
"version": "4.3.1",
|
"version": "4.3.10",
|
||||||
"description": "docker image with nodejs with shipzone.io support",
|
"description": "docker image with nodejs with shipzone.io support",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
9
test/test_latest.sh
Normal file
9
test/test_latest.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# test availability of node and npm
|
||||||
|
npm -v
|
||||||
|
node -v
|
||||||
|
|
||||||
|
# test yarn
|
||||||
|
yarn global add npmts
|
||||||
|
npmts -v
|
||||||
9
test/test_npmci.sh
Normal file
9
test/test_npmci.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# check if npmci is available
|
||||||
|
npmci -v
|
||||||
|
|
||||||
|
# check if we can use lts
|
||||||
|
npmci install lts
|
||||||
|
|
||||||
|
# check if yarn picks it up
|
||||||
|
npmci command yarn global add npmts
|
||||||
|
npmci command npmts -v
|
||||||
Reference in New Issue
Block a user