Skip to content
Snippets Groups Projects
Unverified Commit 0bc6f520 authored by Daniel Ecer's avatar Daniel Ecer Committed by GitHub
Browse files

added push unstable image (#2)

* added push unstable image

* added fullImageTag

* double escape string

* added returnStdout: true

* added grobidTag

* named parameters for sh

* using bash

* construct fullImageTag using grobidTag

* using `=` for ENV JAVA_OPTS for consistency

* added label

* check grobid tag

* print actual grobid label

* trim grobid tag

* escape $

* more escaping

* removed "-latest"

* removed -latest suffix

* temporarily use a docker-read-label version that doesn't pull

* log image

* temporarily don't run end-to-end example as part of ci

* echo echo

* removed single quotes just in case

* trying explicit toString()

* pass in full image tag

* added revision label

* revised revision

* added org.opencontainers.image.source

* enable example end-to-end again

* added comment to IMAGE_TAG
parent a9ba6225
No related branches found
No related tags found
No related merge requests found
COMPOSE_PROJECT_NAME=sciencebeam-trainer-grobid
GROBID_TAG=0.5.4
IMAGE_TAG=develop
REVISION=develop
# $GROBID_TAG-$REVISION
IMAGE_TAG=0.5.4-develop
......@@ -18,9 +18,6 @@ RUN mkdir -p /usr/local/gcloud \
ENV PATH /usr/local/gcloud/google-cloud-sdk/bin:$PATH
ARG grobid_tag
ENV GROBID_VERSION=${grobid_tag}
WORKDIR /opt/grobid
COPY --from=builder /opt/grobid/* ./
COPY --from=builder /opt/grobid-source/grobid-home /opt/grobid-source/grobid-home
......@@ -29,4 +26,12 @@ COPY --from=builder /opt/grobid-source/grobid-trainer/resources /opt/grobid-sour
COPY scripts /opt/scripts
ENV PATH /opt/scripts:$PATH
ENV JAVA_OPTS -Xmx1G
ENV JAVA_OPTS=-Xmx1G
ARG grobid_tag
ENV GROBID_VERSION=${grobid_tag}
LABEL org.elifesciences.dependencies.grobid="${grobid_tag}"
ARG revision
LABEL org.opencontainers.image.revision="${revision}"
LABEL org.opencontainers.image.source=https://github.com/elifesciences/sciencebeam-trainer-grobid
elifePipeline {
node('containers-jenkins-plugin') {
def commit
def grobidTag
def fullImageTag
stage 'Checkout', {
checkout scm
commit = elifeGitRevision()
grobidTag = sh(
script: 'bash -c "source .env && echo \\$GROBID_TAG"',
returnStdout: true
).trim()
echo "GROBID_TAG: ${grobidTag}"
assert grobidTag != ''
fullImageTag = "${grobidTag}-${commit}"
echo "Full image tag: ${fullImageTag}"
}
stage 'Build and run tests', {
try {
sh "make ci-build-and-test"
sh "IMAGE_TAG=${fullImageTag} REVISION=${commit} make ci-build-and-test"
} finally {
sh "make ci-clean"
sh "IMAGE_TAG=${fullImageTag} REVISION=${commit} make ci-clean"
}
}
stage 'Check GROBID label', {
echo "Checking GROBID label..."
def image = DockerImage.elifesciences(this, 'sciencebeam-trainer-grobid', fullImageTag)
echo "Reading GROBID label of image: ${image.toString()}"
def actualGrobidTag = sh(
script: "./ci/docker-read-local-label.sh ${image.toString()} org.elifesciences.dependencies.grobid",
returnStdout: true
).trim()
echo "GROBID label: ${actualGrobidTag} (expected: ${grobidTag})"
assert actualGrobidTag == grobidTag
}
elifeMainlineOnly {
stage 'Merge to master', {
elifeGitMoveToBranch commit, 'master'
}
stage 'Push unstable image', {
def image = DockerImage.elifesciences(this, 'sciencebeam-trainer-grobid', fullImageTag)
def unstable_image = image.addSuffixAndTag('_unstable', fullImageTag)
unstable_image.tag(grobidTag).push()
unstable_image.push()
}
}
}
}
#!/bin/bash
set -e
if [ "$#" -ne 2 ]; then
echo "Usage: $0 IMAGE LABEL"
echo "Example: $0 elifesciences/annotations_cli org.elifesciences.dependencies.api-dummy"
exit 1
fi
image="${1}"
label="${2}"
docker inspect "${image}" | jq -r ".[0].Config.Labels[\"${label}\"]"
......@@ -7,15 +7,16 @@ services:
dockerfile: Dockerfile.builder
args:
grobid_tag: ${GROBID_TAG}
image: elifesciences/sciencebeam-trainer-grobid-builder:${GROBID_TAG}-${IMAGE_TAG}
image: elifesciences/sciencebeam-trainer-grobid-builder:${IMAGE_TAG}
sciencebeam-trainer-grobid:
build:
context: .
dockerfile: Dockerfile
args:
builder_image: elifesciences/sciencebeam-trainer-grobid-builder:${GROBID_TAG}-${IMAGE_TAG}
builder_image: elifesciences/sciencebeam-trainer-grobid-builder:${IMAGE_TAG}
grobid_tag: ${GROBID_TAG}
image: elifesciences/sciencebeam-trainer-grobid:${GROBID_TAG}-${IMAGE_TAG}
revision: ${REVISION}
image: elifesciences/sciencebeam-trainer-grobid:${IMAGE_TAG}
depends_on:
- grobid-builder
volumes:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment