Skip to content

Commit

Permalink
Added first version of Dockerfile and release.yml. Addresses #
Browse files Browse the repository at this point in the history
  • Loading branch information
ppanopticon committed Mar 9, 2021
1 parent 3bcae34 commit 50345ab
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 6 deletions.
66 changes: 66 additions & 0 deletions .github/workflows/release.yml
@@ -0,0 +1,66 @@
name: Publish DRES Distribution and Docker Image

on:
push:
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

env:
IMAGE_NAME: dres

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11.0.6
- name: Cache Gradle packages
uses: actions/cache@v1
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Build distribution
run: ./gradlew distTar
- name: Get the version
id: get_version
run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.VERSION }}
release_name: Release ${{ env.VERSION }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./backend/build/distributions/dres-dist.tar
asset_name: dres-dist-${{ env.VERSION }}.tar
asset_content_type: application/tar
- name: Build Docker Image
run: docker build . --file Dockerfile --tag ${{ env.IMAGE_NAME }}
- name: Log into Docker Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Push Docker image
run: |
IMAGE_ID=docker.pkg.github.com/dres-dev/DRES/${{ env.IMAGE_NAME }}
# Use Docker `latest` tag convention
[ "$VERSION" == "master" ] && VERSION=latest
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
10 changes: 4 additions & 6 deletions Dockerfile
Expand Up @@ -2,19 +2,17 @@ FROM zenika/kotlin:1.4.20-jdk11 AS build

COPY . /dres-src
RUN cd /dres-src && \
./gradlew distTar


RUN mkdir dres-dist && \
./gradlew distTar && \
mkdir dres-dist && \
cd dres-dist && \
tar xf ../backend/build/distributions/dres-dist.tar

FROM zenika/kotlin:1.4.20-jdk11-slim

RUN mkdir /dres-data
COPY backend/config.json /dres-data
COPY config.json /dres-data
COPY --from=build /dres-src/dres-dist /

EXPOSE 8080
EXPOSE 8443
ENTRYPOINT /dres-dist/bin/dres /dres-data/config.json
ENTRYPOINT /dres-dist/bin/backend /dres-data/config.json

0 comments on commit 50345ab

Please sign in to comment.