Compare commits

...

51 Commits

Author SHA1 Message Date
a7d2b34f8b 5.0.7 2018-11-29 11:06:53 +01:00
1089942cc3 fix(core): update 2018-11-29 11:06:53 +01:00
f443d220c6 5.0.6 2018-11-29 10:57:30 +01:00
52866e8aa5 fix(tests): remove npmts from tests 2018-11-29 10:57:30 +01:00
50cb638732 5.0.5 2018-11-29 10:49:50 +01:00
67470d22f4 fix(core): update 2018-11-29 10:49:50 +01:00
5a3f5a1a72 5.0.4 2018-11-29 08:03:22 +01:00
3cdcc3738b fix(core): update 2018-11-29 08:03:21 +01:00
d2c8e2b51e 5.0.3 2018-11-28 23:31:14 +01:00
b69c781c4d fix(core): update 2018-11-28 23:31:14 +01:00
7bc8cb3f51 5.0.2 2018-11-28 22:37:04 +01:00
1ce4382885 fix(core): update 2018-11-28 22:37:03 +01:00
e9ff80ceae 5.0.1 2018-11-26 20:36:04 +01:00
32ceafbd59 fix(node versions): update 2018-11-26 20:36:03 +01:00
1acbe775fc 5.0.0 2018-07-16 00:16:12 +02:00
98f9724739 4.3.69 2018-07-16 00:15:36 +02:00
a93ee5a185 4.3.68 2018-07-02 23:02:51 +02:00
90bae2fce4 fix(core): update node versions 2018-07-02 23:02:51 +02:00
ae30ceec26 4.3.67 2018-05-27 13:33:19 +02:00
f1426931fa fix(tests): fis test that did not make sense 2018-05-27 13:33:19 +02:00
097a741488 4.3.66 2018-05-27 13:21:50 +02:00
9d62eab807 fix(dependencies): update to scoped versions of npmci and npmdocker 2018-05-27 13:21:49 +02:00
baeb46ed81 4.3.65 2018-05-27 13:18:51 +02:00
ddd4970762 remove yarn 2018-05-27 13:18:17 +02:00
04659b9344 4.3.64 2018-05-16 18:05:56 +02:00
0ad9c4fcd3 fix(core): add default workspace directory 2018-05-16 18:05:55 +02:00
43063e3507 4.3.63 2018-05-16 01:37:59 +02:00
02ea32961b fix(core): cleanup 2018-05-16 01:37:59 +02:00
c5365798b6 4.3.62 2018-05-16 01:31:41 +02:00
184e13b91e fix(:chrome): update 2018-05-16 01:31:40 +02:00
a1f5bbb6f0 4.3.61 2018-05-16 01:08:52 +02:00
21189adb66 fix(:chrome): fix 2018-05-16 01:08:52 +02:00
4bd28a3a54 4.3.60 2018-05-16 01:00:22 +02:00
b48aa0e077 fix(:chrome): docker tag :chrome is now working with sandboxing 2018-05-16 01:00:21 +02:00
95f4b0b8e4 4.3.59 2018-04-29 17:17:44 +02:00
bb1db7e9a8 remove npmpage 2018-04-29 17:17:40 +02:00
12a9413444 4.3.58 2018-04-29 17:05:05 +02:00
69d937edb0 update to latest standards 2018-04-29 17:04:56 +02:00
4953e7b345 4.3.57 2018-04-10 13:47:24 +02:00
c04e941274 update ci 2018-04-10 13:47:18 +02:00
dfadb7e1f2 4.3.56 2018-04-10 13:45:01 +02:00
1932695c81 add verify step 2018-04-10 13:44:54 +02:00
8f914cbf47 4.3.55 2018-04-09 18:47:33 +02:00
7b390fd1da update ci to put less strain on network 2018-04-09 18:47:28 +02:00
0eb7a24dcd 4.3.54 2018-04-09 17:33:02 +02:00
fe2452111e update 2018-04-09 17:32:52 +02:00
84930b7c3e 4.3.53 2018-01-31 19:27:26 +01:00
cb99fd28d0 remove obsolete 2018-01-31 19:27:07 +01:00
4f557b6a08 slim down the base image 2018-01-31 19:23:52 +01:00
ee1f86e7ab 4.3.52 2018-01-31 00:29:38 +01:00
8a3b598f66 fix(Dockerfile) remove apt lists from layer 2018-01-31 00:29:36 +01:00
20 changed files with 64 additions and 567 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
.idea/ node_modules/

View File

@ -2,23 +2,16 @@
image: hosttoday/ht-docker-dbase:npmci image: hosttoday/ht-docker-dbase:npmci
services: services:
- docker:dind - docker:dind
variables:
DOCKER_DRIVER: overlay
stages: stages:
- buildAndTest - buildAndTest
- build - triggerPagesVerify
- test
- release
- trigger
- pages
before_script: before_script:
- yarn global add npmci - npm install -g @shipzone/npmci
- npmci docker login - npmci docker login
buildAndTest: buildTest:
stage: buildAndTest stage: buildAndTest
script: script:
- npmci docker build - npmci docker build
@ -30,37 +23,14 @@ buildAndTest:
- lossless - lossless
- priv - priv
build: buildTestRelase:
stage: build stage: buildAndTest
script: script:
- npmci docker build - npmci docker build
- npmci docker push registry.gitlab.com test
only:
- tags
- triggers
tags:
- lossless
- priv
test:
stage: test
script:
- npmci docker pull registry.gitlab.com test
- npmci docker test - npmci docker test
only: - npmci docker push registry.gitlab.com test
- tags
- triggers
tags:
- lossless
- priv
release:
stage: release
script:
- npmci docker pull registry.gitlab.com test
- npmci docker push docker.io
- npmci docker push registry.gitlab.com - npmci docker push registry.gitlab.com
- npmci docker push docker.io
only: only:
- tags - tags
- triggers - triggers
@ -69,7 +39,7 @@ release:
- priv - priv
trigger: trigger:
stage: trigger stage: triggerPagesVerify
script: script:
- npmci trigger - npmci trigger
only: only:
@ -80,13 +50,14 @@ trigger:
- priv - priv
pages: pages:
stage: triggerPagesVerify
before_script: before_script:
- 'npmci -v' - 'npmci -v'
image: hosttoday/ht-docker-node:npmci image: hosttoday/ht-docker-node:npmci
stage: pages
script: script:
- npmci command yarn global add npmpage # - npmci command npm install -g npmpage
- npmci command npmpage # - npmci command npmpage
- echo "nothing here yet until @gitzone/npmpage is ready!"
only: only:
- tags - tags
tags: tags:
@ -95,3 +66,12 @@ pages:
expire_in: 1 week expire_in: 1 week
paths: paths:
- public - public
verify:
stage: triggerPagesVerify
script:
- npmci docker pull registry.gitlab.com test
only:
- tags
tags:
- docker

View File

@ -1,8 +1,9 @@
FROM ubuntu:xenial FROM ubuntu:xenial
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
WORKDIR /workspace
# important environment variables # important environment variables
ENV NODE_VERSION_LTS="8.9.3" NODE_VERSION_STABLE="9.3.0" NVM_DIR="/usr/local/nvm" ENV NODE_VERSION_LTS="10.13.0" NODE_VERSION_STABLE="11.2.0" NVM_DIR="/usr/local/nvm"
# Set debconf to run non-interactively and install packages # 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 \
@ -23,27 +24,9 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
rsync \ rsync \
ssh \ ssh \
wget \ wget \
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \ && apt-get update \
&& apt-get install yarn -y \
&& apt-get clean \ && apt-get clean \
&& rm -r /var/lib/apt/lists/* && rm -r /var/lib/apt/lists/*
# See https://crbug.com/795759
RUN apt-get update && apt-get install -yq libgconf-2-4
# Install latest chrome dev package.
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update && apt-get install -y wget --no-install-recommends \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-unstable \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /src/*.deb
# Install nvm with node and npm # Install nvm with node and npm
RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

3
Dockerfile_alpine Normal file
View File

@ -0,0 +1,3 @@
FROM node:11.3.0-alpine
LABEL author="Lossless GmbH <hello@lossless.com>"
RUN apk update && apk add bash libc6-compat

19
Dockerfile_chrome Normal file
View File

@ -0,0 +1,19 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <hello@lossless.com>"
# See https://crbug.com/795759
RUN apt-get update && apt-get install -yq libgconf-2-4 \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/*
# Install latest chrome dev package.
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
# installs, work.
RUN apt-get update && apt-get install -y wget --no-install-recommends \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-unstable \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /src/*.deb

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN bash -c "source $NVM_DIR/nvm.sh \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_LTS \ && nvm install $NODE_VERSION_LTS \

View File

@ -1,7 +0,0 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 \
&& echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list \
&& apt-get update \
&& apt-get install -y mongodb-org

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci RUN npm install -g @shipzone/npmci

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:npmci FROM hosttoday/ht-docker-node:npmci
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
# Install Java. # Install Java.
RUN \ RUN \

View File

@ -1,4 +1,4 @@
FROM hosttoday/ht-docker-node:stable FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN yarn global add npmci npmdocker npmts ts-node RUN npm install -g @shipzone/npmci @gitzone/npmdocker @gitzone/npmts ts-node

View File

@ -1,21 +0,0 @@
FROM hosttoday/ht-docker-node:stable
LABEL author="Lossless GmbH <office@lossless.com>"
RUN apt-get update && apt-get install -y python-pip
RUN yarn global add npmpage
RUN pip install --upgrade pip \
&& pip install mkdocs \
&& mkdocs --version \
&& pip install mkdocs-material \
&& pip install pygments \
&& pip install pymdown-extensions
# Set working directory
WORKDIR /docs
# Expose MkDocs development server port
EXPOSE 8000
# Start development server by default
ENTRYPOINT ["mkdocs"]
CMD ["serve", "--dev-addr=0.0.0.0:8000"]

View File

@ -1,5 +1,5 @@
FROM hosttoday/ht-docker-node:latest FROM hosttoday/ht-docker-node:latest
LABEL author="Lossless GmbH <office@lossless.com>" LABEL author="Lossless GmbH <hello@lossless.com>"
RUN bash -c "source $NVM_DIR/nvm.sh \ RUN bash -c "source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION_STABLE \ && nvm install $NODE_VERSION_STABLE \

View File

@ -1,48 +0,0 @@
---
name: ht-docker-node
description: the ultimate docker-node image
---
# ht-docker-node
the ultimate docker node image
## Status
[![build status](https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg)](https://gitlab.com/hosttoday/ht-docker-node/commits/master)
## Availability
Registry | Image Path
--- | ---
GitLab Registry | registry.gitlab.com/hosttoday/ht-docker-node
Docker Hub | hosttoday/ht-docker-node
## 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
* **:npmcijava - npmci + java
* **:npmts** - npmci + npmts preinstalled
* **:npmpage** - npmci + npmts + npmpage preinstalled
* **:mongo** - npmci + npmts + mongo
## optimized for performance with npmci and npmts
Take a goof look at the **npmts** and **npmci** tools on npm. They make development of TypeScript node modules rediculouly easy :)
The **:npmcijava** flavour works together with **smartwebdriver** so you can test all your cool polymer elements in a headless chrome environment or sauce :)
For further information read the linked docs at the top of this README.
> MIT licensed | **&copy;** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://hosttoday.gitlab.io/assets/repo-footer.svg)](https://host.today)

1
node_modules/.yarn-integrity generated vendored
View File

@ -1 +0,0 @@
549854b8a60607db81d4c58008d59f812d744acba026266f380acd942941356a

View File

@ -1,6 +1,6 @@
{ {
"name": "ht-docker-node", "name": "ht-docker-node",
"version": "4.3.51", "version": "5.0.7",
"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": {

View File

@ -1,411 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Quicksite</title>
<link
href="https://fonts.googleapis.com/css?family=Roboto+Mono:300,400,700|Roboto+Slab:300,400,700|Roboto:300,400,700"
rel="stylesheet"
>
<style>
.menuBox {
box-shadow: 0px 0px 5px #CCCCCC;
margin: auto;
box-sizing: border-box;
margin-bottom: 70px;
margin-top: 0px;
width: 100%;
background: #2196F3;
position: fixed;
padding: 15px;
will-change: transform; }
.menuBox .menuItems {
text-align: right; }
.menuBox .menuItems a {
display: inline-block;
padding: 0px 10px;
border-right: 1px #fff solid;
font-size: 15px;
font-weight: 400;
letter-spacing: 1px;
text-transform: uppercase;
text-decoration: none;
color: #fafafa; }
.menuBox .menuItems a:hover {
color: #fff; }
.menuBox .menuItems a:last-of-type {
border-right: none; }
h1,
h2,
h3,
h4 {
margin: 1.414rem 0 .5rem;
font-weight: inherit;
font-family: 'Roboto Slab', serif;
line-height: 1.42;
text-align: center; }
h1 {
margin-top: 0;
font-size: 3.998rem; }
h1::after {
display: block;
margin: auto;
margin-top: 0px;
width: 200px;
border-top: 2px #e4002b solid;
content: ''; }
h1 + h2 {
font-weight: 300;
margin-top: 5px;
font-size: 25px; }
h2 {
font-size: 2.827rem; }
h3 {
font-size: 1.999rem; }
h4 {
font-size: 1.414rem; }
h5 {
font-size: 1.121rem; }
h6 {
font-size: .88rem; }
table {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
width: 100%;
margin-bottom: 2rem;
margin-left: 0px;
margin-right: 0px;
background-color: #fff;
box-shadow: 0px 0px 3px #ccc;
border-radius: 3px;
padding: 10px; }
@media screen and (min-width: 768px) {
table {
width: 768px; } }
@media screen and (min-width: 1200px) {
table {
width: 968px;
margin-left: -100px;
margin-right: -100px; } }
table thead tr,
table tbody tr,
table tfoot tr {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th,
table thead tr td,
table tbody tr th,
table tbody tr td,
table tfoot tr th,
table tfoot tr td {
text-align: left;
padding: 10px;
vertical-align: top;
border-top: 0;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th {
font-weight: 400;
color: #757575;
vertical-align: bottom;
border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
border-top: 0; }
table tbody + tbody {
border-top: 1px solid rgba(0, 0, 0, 0.12); }
blockquote {
padding: 0px;
page-break-inside: avoid;
margin: 0;
border-left: 5px solid #7a7a7a;
font-style: italic;
text-align: left; }
blockquote p {
padding: 10px; }
table {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
width: 100%;
margin-bottom: 2rem;
margin-left: 0px;
margin-right: 0px;
background-color: #fff;
box-shadow: 0px 0px 3px #ccc;
border-radius: 3px;
padding: 10px; }
@media screen and (min-width: 768px) {
table {
width: 768px; } }
@media screen and (min-width: 1200px) {
table {
width: 968px;
margin-left: -100px;
margin-right: -100px; } }
table thead tr,
table tbody tr,
table tfoot tr {
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th,
table thead tr td,
table tbody tr th,
table tbody tr td,
table tfoot tr th,
table tfoot tr td {
text-align: left;
padding: 10px;
vertical-align: top;
border-top: 0;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease; }
table thead tr th {
font-weight: 400;
color: #757575;
vertical-align: bottom;
border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
border-top: 0; }
table tbody + tbody {
border-top: 1px solid rgba(0, 0, 0, 0.12); }
.content {
margin: auto;
padding-top: 110px;
max-width: 768px; }
@media screen and (max-width: 808px) {
.content {
margin-left: 20px;
margin-right: 20px; } }
.footer {
border-top: 2px #333 solid;
margin: auto;
margin-top: 70px;
margin-bottom: 60px;
max-width: 768px; }
@media screen and (min-width: 500px) {
.footer .footerGridContainer {
margin-left: -20px;
margin-right: -20px; } }
.footer .footerGridContainer::after {
clear: both;
content: "";
display: block; }
.footer .footerGridContainer .footerColumn {
padding-top: 20px; }
@media screen and (min-width: 500px) {
.footer .footerGridContainer .footerColumn {
width: calc(33.33333% - 26.66667px);
float: left;
margin-left: 20px; } }
.footer .footerGridContainer .footerColumn h1 {
font-size: 14px;
font-weight: 700;
text-align: left;
text-transform: uppercase; }
.footer .footerGridContainer .footerColumn h1::after {
content: none; }
.footer .footerGridContainer .footerColumn a {
color: #333;
text-decoration: none;
display: block;
padding: 2px 10px 2px 10px;
border-left: #CCC 2px solid;
-webkit-transition: all 0.1s ease;
-o-transition: all 0.1s ease;
transition: all 0.1s ease; }
.footer .footerGridContainer .footerColumn a:hover {
border-left: 2px #e4002b solid;
background: #e8e8e8; }
.footer .footerGridContainer .footerColumn a + span {
-webkit-transition: all 0.1s ease;
-o-transition: all 0.1s ease;
transition: all 0.1s ease;
color: #666;
font-family: 'Roboto Mono', monospace;
font-weight: 400;
font-size: 10px;
display: block;
padding-left: 10px;
border-left: 2px #eee solid;
margin-bottom: 5px; }
.footer .footerGridContainer .footerColumn a:hover + span {
border-left: 2px #e4002b solid;
background: #f0f0f0; }
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important; }
a,
a:visited {
text-decoration: underline; }
a[href]:after {
content: " (" attr(href) ")"; }
abbr[title]:after {
content: " (" attr(title) ")"; }
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: ""; }
pre {
border: 1px solid #999;
page-break-inside: avoid; }
thead {
display: table-header-group; }
tr {
page-break-inside: avoid; }
p,
h2,
h3 {
orphans: 3;
widows: 3; }
h2,
h3 {
page-break-after: avoid; } }
html {
font-size: 12px; }
@media screen and (min-width: 32rem) and (max-width: 48rem) {
html {
font-size: 15px; } }
@media screen and (min-width: 48rem) {
html {
font-size: 16px; } }
p {
font-size: 1rem;
margin-bottom: 1.3rem; }
small {
font-size: .707em; }
canvas,
iframe,
video,
svg,
select,
textarea {
max-width: 100%; }
body {
color: #444;
font-family: 'Roboto', sans-serif;
font-weight: 300;
line-height: 1.85;
margin: 0px; }
a,
a:visited {
color: #3498db; }
a:hover, a:focus, a:active {
color: #2980b9; }
pre {
background-color: #fafafa;
padding: 1rem;
text-align: left; }
ul,
ol,
li {
text-align: left; }
p {
color: #777; }
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class='menuBox'>
<div class='menuItems'>
<a href='./index.html'>index</a>
</div>
</div>
<div class='content'>
<h1 id="ht-docker-node">ht-docker-node</h1>
<p>the ultimate docker node image</p>
<h2 id="status">Status</h2>
<p><a href="https://gitlab.com/hosttoday/ht-docker-node/commits/master"><img src="https://gitlab.com/hosttoday/ht-docker-node/badges/master/build.svg" alt="build status"></a></p>
<h2 id="availability">Availability</h2>
<table>
<thead>
<tr>
<th>Registry</th>
<th>Image Path</th>
</tr>
</thead>
<tbody>
<tr>
<td>GitLab Registry</td>
<td>registry.gitlab.com/hosttoday/ht-docker-node</td>
</tr>
<tr>
<td>Docker Hub</td>
<td>hosttoday/ht-docker-node</td>
</tr>
</tbody>
</table>
<h2 id="usage">Usage</h2>
<p>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.</p>
<p>The <strong>:npmci flavour</strong> has npmci in path and can install any required node version and update PATH accordingly:</p>
<pre><code class="lang-Dockerfile">FROM hosttoday/ht-docker-<span class="hljs-keyword">node</span><span class="hljs-title">:npmci</span>
RUN npmci install [node_version_number] // this installs <span class="hljs-keyword">node</span> <span class="hljs-title">using</span> <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> sets the default to the new <span class="hljs-keyword">node</span> <span class="hljs-title">and</span> npm versions
</code></pre>
<h2 id="flavour-overview-">Flavour Overview:</h2>
<ul>
<li><strong>:lts</strong> - node lts version, equals :latest</li>
<li><strong>:stable</strong> - node stable version</li>
<li><strong>:npmci</strong> - npmci preinstalled</li>
<li><strong>:npmts</strong> - npmci + npmts preinstalled</li>
<li><strong>:npmpage</strong> - npmci + npmts + npmpage preinstalled</li>
<li><strong>:mongo</strong> - npmci + npmts + mongo</li>
</ul>
<p>For further information read the linked docs at the top of this README.</p>
<blockquote>
<p>MIT licensed | <strong>&copy;</strong> <a href="https://lossless.gmbh">Lossless GmbH</a>
| By using this npm module you agree to our <a href="https://lossless.gmbH/privacy.html">privacy policy</a></p>
</blockquote>
<p><a href="https://host.today"><img src="https://hosttoday.gitlab.io/assets/repo-footer.svg" alt="repo-footer"></a></p>
<div class='footer'>
<div class='footerGridContainer'>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,2 +1 @@
#!/bin/sh echo "this runs within latest container!";
yarn -v

View File

@ -4,6 +4,6 @@ npmci -v
# check if we can use lts # check if we can use lts
npmci install lts npmci install lts
# check if yarn picks it up # check if npm picks it up
npmci command yarn global add npmts npmci command npm install -g @gitzone/gitzone
npmci command npmts -v npmci command gitzone -v

View File

@ -1 +0,0 @@
mkdocs --version

View File

@ -1,3 +1,5 @@
# test yarn # npm
yarn global add npmts npm -v
npmts -v node -v
npm install -g @gitzone/gitzone
gitzone -v