blob: 689fdde3a4c64803938af970489a775032a8038c [file] [log] [blame]
include ../$(RECIPE)/setup.env
include ../Makefile.common
PLUGINS=javamelody healthcheck metrics-reporter-cloudwatch
docker-registry-login:
aws ecr get-login-password --region $(AWS_REGION) \
| docker login --username AWS --password-stdin $(DOCKER_REGISTRY_URI)/aws-gerrit/gerrit
gerrit-get-plugins:
# Make sure Prometheus Metrics exporter plugin is installed
mkdir -p $(@D)/{plugins,lib}
@echo "Ensure no plugins or libraries are left from previous deployments"
rm -f $(@D)/{plugins,lib}/*.jar
for plugin in $(PLUGINS); \
do \
export pluginname=`echo $$plugin | cut -d '~' -f 1`; \
export pluginjar=`echo $$plugin | tr '~' '-'`; \
echo "Downloading $$plugin plugin $(GERRIT_BRANCH)"; \
wget $(GERRIT_CI)/plugin-$$pluginname-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/$$pluginname/$$pluginjar.jar \
-O ./plugins/$$pluginname.jar || \
wget $(GERRIT_CI)/plugin-$$pluginname-bazel-master-$(GERRIT_BRANCH)/$(LAST_BUILD)/$$pluginname/$$pluginjar.jar \
-O ./plugins/$$pluginname.jar || \
{ echo >&2 "Cannot download $$plugin plugin: Check internet connection. Aborting"; exit 1; }; \
done
for pluginlib in $(PLUGINS_LIBS_LINKS); \
do \
echo "Symlink $$pluginlib plugin into lib"; \
ln -sf ../plugins/$$pluginlib.jar ./lib/$$pluginlib.jar; \
done
for mavenlib in $(MAVEN_LIBS); \
do \
echo "Downloading $$mavenlib library"; \
export libname=`echo $$mavenlib | cut -d '~' -f 1`; \
export libver=`echo $$mavenlib | cut -d '~' -f 2`; \
export libjar=`echo $$mavenlib | tr '~' '-'`; \
wget $(MAVEN_ARCHIVE)/$$libname/$$libver/$$libjar.jar \
-O ./lib/$$libname.jar \
|| { echo >&2 "Cannot download $$mavenlib: Check internet connection. Aborting"; exit 1; } \
done
gerrit-build: check-gerrit-version-vs-war-url
cat Dockerfile | \
envsubst '$${GERRIT_VERSION} $${GERRIT_PATCH} $${GERRIT_WAR_URL} $${PATH}' | \
docker build -f - --build-arg withXRay="$(XRAY_ENABLED)" -t aws-gerrit/gerrit:$(IMAGE_TAG) .
docker tag aws-gerrit/gerrit:$(IMAGE_TAG) $(DOCKER_REGISTRY_URI)/aws-gerrit/gerrit:$(IMAGE_TAG)
check-gerrit-version-vs-war-url:
. set-java.sh 11; \
if [[ "$(GERRIT_WAR_URL)" != "" ]]; \
then \
curl $(GERRIT_WAR_URL) > gerrit.war; \
GERRIT_VERSION_FROM_WAR=$$(java -jar gerrit.war version | awk '{print $$3}' | cut -d '.' -f 1,2); \
if [[ "$$GERRIT_VERSION_FROM_WAR" != "$(GERRIT_VERSION)" ]]; \
then \
echo "GERRIT_VERSION=$(GERRIT_VERSION) is not compatible with $$(java -jar gerrit.war version) from $(GERRIT_WAR_URL)"; \
exit -1; \
fi; \
fi
gerrit-publish: gerrit-get-plugins docker-registry-login gerrit-build
docker push $(DOCKER_REGISTRY_URI)/aws-gerrit/gerrit:$(IMAGE_TAG)