mirror of
https://github.com/cmur2/dyndnsd.git
synced 2024-12-21 14:54:22 +01:00
ci: use locally built gem file for testing Docker image build
This commit is contained in:
parent
199ccf7665
commit
6afed2049a
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -27,6 +27,7 @@ jobs:
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby-version }}
|
||||
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
||||
|
||||
- name: Lint and Test
|
||||
run: |
|
||||
bundle exec rake ci
|
||||
@ -38,4 +39,5 @@ jobs:
|
||||
- name: Test building Docker image for dyndnsd
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
context: docker
|
||||
context: .
|
||||
file: docker/ci/Dockerfile
|
||||
|
2
Rakefile
2
Rakefile
@ -29,4 +29,4 @@ end
|
||||
task default: [:rubocop, :spec, 'bundle:audit', :solargraph]
|
||||
|
||||
desc 'Run all tasks desired for CI'
|
||||
task ci: ['solargraph:init', :default, :hadolint]
|
||||
task ci: ['solargraph:init', :default, :hadolint, :build]
|
||||
|
@ -8,6 +8,7 @@ RUN apk --no-cache add openssl ca-certificates && \
|
||||
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
|
||||
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
|
||||
gem install --no-document dyndnsd -v ${DYNDNSD_VERSION} && \
|
||||
rm -rf /usr/lib/ruby/gems/*/cache/ && \
|
||||
# set timezone to Berlin
|
||||
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
|
||||
apk del .build-deps
|
||||
|
22
docker/ci/Dockerfile
Normal file
22
docker/ci/Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM alpine:3.13.5
|
||||
|
||||
EXPOSE 5353 8080
|
||||
|
||||
COPY pkg/dyndnsd-*.gem /tmp/dyndnsd.gem
|
||||
|
||||
RUN apk --no-cache add openssl ca-certificates && \
|
||||
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
|
||||
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
|
||||
gem install --no-document /tmp/dyndnsd.gem && \
|
||||
rm -rf /usr/lib/ruby/gems/*/cache/ && \
|
||||
# set timezone to Berlin
|
||||
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
|
||||
apk del .build-deps
|
||||
|
||||
# Follow the principle of least privilege: run as unprivileged user.
|
||||
# Running as non-root enables running this image in platforms like OpenShift
|
||||
# that do not allow images running as root.
|
||||
# User ID 65534 is usually user 'nobody'.
|
||||
USER 65534
|
||||
|
||||
ENTRYPOINT ["dyndnsd", "/etc/dyndnsd/config.yml"]
|
Loading…
Reference in New Issue
Block a user