VIVO-1961: GitHub Action to Publish Docker Image (#220)

* simple dockerfile and image publish workflow
* upgrade to v2 of build push action
* provide context and explicit docker file

Resolves: https://jira.lyrasis.org/browse/VIVO-1961
This commit is contained in:
William Welling 2021-02-10 14:03:29 -06:00 committed by GitHub
parent 268ffa1cd7
commit a9ce8c7de8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 72 additions and 1 deletions

View file

@ -7,7 +7,7 @@ on:
workflow_dispatch:
jobs:
build:
deploy:
runs-on: ubuntu-latest
env:

59
.github/workflows/docker.yml vendored Normal file
View file

@ -0,0 +1,59 @@
name: Docker
on:
push:
branches:
- main
workflow_dispatch:
jobs:
docker:
runs-on: ubuntu-latest
env:
MAVEN_OPTS: -Xmx1024M
steps:
- uses: actions/checkout@v2
- name: Clone Vitro
run: git clone https://github.com/vivo-project/Vitro.git ../Vitro
- name: Maven Cache
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-cache-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-cache-m2-
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: 11
- name: Maven Build
run: mvn clean install
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: vivoweb/vivo:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

12
Dockerfile Normal file
View file

@ -0,0 +1,12 @@
FROM tomcat:9-jdk11-openjdk
ENV JAVA_OPTS="${JAVA_OPTS} -Dvivo-dir=/opt/vivo/home/"
RUN mkdir /opt/vivo
RUN mkdir /opt/vivo/home
COPY ./installer/webapp/target/vivo.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
CMD ["catalina.sh", "run"]