-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
69 lines (59 loc) · 2.4 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
FROM node:alpine
LABEL org.opencontainers.image.source="https://github.com/CPHApt/CPHA-semantic-release"
LABEL Maintainer="CPHApt"
LABEL Description="CPHA-Semantic-release"
LABEL version="1.0.0"
# node:alpine doesn't come with certificates or git, so we need to grab those
RUN apk add --no-cache ca-certificates git
# We include:
# - the core semantic-release
# - the official and community plugins from https://semantic-release.gitbook.io/semantic-release/extending/plugins-list
# - the official and community configs from https://semantic-release.gitbook.io/semantic-release/extending/shareable-configurations-list
#
# ... with the exception that any plugins that don't trivially install are
# summarilty commented out.
#
# Also, even though Dockerfile best practices would have this as one giant RUN
# command, we want to take advantage of layer caching, and thus use separate RUN
# commands, with the (hopefully) core/stable components first
RUN npm install -g \
semantic-release@latest
# core plugins
RUN npm install -g \
@semantic-release/apm@latest \
@semantic-release/changelog@latest \
@semantic-release/exec@latest \
@semantic-release/git@latest \
@semantic-release/gitlab@latest \
@saithodev/semantic-release-gitea
# core configs
RUN npm install -g \
@semantic-release/apm-config@latest \
@semantic-release/gitlab-config@latest
# community plugins
RUN npm install -g \
#@conveyal/maven-semantic-release@latest \
@qiwi/semantic-release-gh-pages-plugin@latest \
#gradle-semantic-release-plugin@latest \
#semantic-release-ado@latest \
semantic-release-chrome@latest \
#semantic-release-circleci-orb@latest \
#semantic-release-docker@latest \
semantic-release-expo@latest \
#semantic-release-firefox@latest \
#semantic-release-gcr@latest \
semantic-release-gerrit@latest \
semantic-release-slack-bot@latest \
semantic-release-verify-deps@latest \
#semantic-release-vsce@latest
conventional-changelog-conventionalcommits
# community configs
# RUN npm install -g \
# @jedmao/semantic-release-npm-github-config@latest
# Consumers of this image should mount their project directory into `/source`,
# which will be the current directory when semantic-release runs. Docker-based
# CI/CD tools might mount a different directory, but they should also explicitly
# set the working directory such that everything will still work.
WORKDIR /source
VOLUME /source
ENTRYPOINT [ "semantic-release" ]