blob: 3b78794eb2fbdcaf66f40090f38aae45039b9c92 [file] [log] [blame]
include ../$(RECIPE)/setup.env
include ../Makefile.common
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
@echo "Downloading metrics-reporter-prometheus plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-metrics-reporter-prometheus-bazel-master-$(GERRIT_BRANCH)/$(LAST_BUILD)/metrics-reporter-prometheus/metrics-reporter-prometheus.jar \
-O ./plugins/metrics-reporter-prometheus.jar \
|| { echo >&2 "Cannot download metrics-reporter-prometheus plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading javamelody plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-javamelody-bazel-master-$(GERRIT_BRANCH)/$(LAST_BUILD)/javamelody/javamelody.jar \
-O ./plugins/javamelody.jar \
|| { echo >&2 "Cannot download javamelody plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading HA plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-high-availability-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/high-availability/high-availability.jar \
-O ./plugins/high-availability.jar \
|| { echo >&2 "Cannot download high-availability plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading Health Check plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-healthcheck-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/healthcheck/healthcheck.jar \
-O ./plugins/healthcheck.jar \
|| { echo >&2 "Cannot download healthcheck plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading Metrics Reporter Cloudwatch plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-metrics-reporter-cloudwatch-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/metrics-reporter-cloudwatch/metrics-reporter-cloudwatch.jar \
-O ./plugins/metrics-reporter-cloudwatch.jar \
|| { echo >&2 "Cannot download metrics-reporter-cloudwatch plugin: Check internet connection. Aborting"; exit 1; }
ifeq ($(MULTISITE_ENABLED),true)
@echo "Downloading multi-site plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-multi-site-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/multi-site/multi-site.jar \
-O ./plugins/multi-site.jar \
|| { echo >&2 "Cannot download multi-site plugin: Check internet connection. Aborting"; exit 1; }
@echo "Symlink multi-site plugin into lib"
ln -sf ../plugins/multi-site.jar ./lib/multi-site.jar
@echo "Symlink replication plugin into lib"
ln -sf ../plugins/replication.jar lib/replication.jar
@echo "Downloading events-broker library"
wget $(MAVEN_ARCHIVE)/events-broker/$(EVENTSBROKER_LIB_VER)/events-broker-$(EVENTSBROKER_LIB_VER).jar \
-O lib/events-broker.jar \
|| { echo >&2 "Cannot download events-broker-library: Check internet connection. Aborting"; exit 1; }
@echo "Downloading kafka-events plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-kafka-events-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/kafka-events/kafka-events.jar \
-O ./plugins/kafka-events.jar \
|| { echo >&2 "Cannot download kafka-events plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading zookeper-refdb-3.5 plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-zookeeper-refdb-bazel-$(GERRIT_BRANCH)/$(LAST_BUILD)/zookeeper-refdb/zookeeper-refdb-zk-3.5.jar \
-O ./plugins/zookeeper-refdb.jar \
|| { echo >&2 "Cannot download zookeeper-refdb plugin: Check internet connection. Aborting"; exit 1; }
@echo "Downloading websession-broker plugin $(GERRIT_BRANCH)"
wget $(GERRIT_CI)/plugin-websession-broker-bazel-master-$(GERRIT_BRANCH)/$(LAST_BUILD)/websession-broker/websession-broker.jar \
-O ./plugins/websession-broker.jar \
|| { echo >&2 "Cannot download websession-broker plugin: Check internet connection. Aborting"; exit 1; }
endif
gerrit-build:
cat Dockerfile | \
GERRIT_VERSION=$(GERRIT_VERSION) GERRIT_PATCH=$(GERRIT_PATCH) envsubst | \
docker build -f - -t aws-gerrit/gerrit:$(IMAGE_TAG) .
docker tag aws-gerrit/gerrit:$(IMAGE_TAG) $(DOCKER_REGISTRY_URI)/aws-gerrit/gerrit:$(IMAGE_TAG)
gerrit-publish: gerrit-get-plugins docker-registry-login gerrit-build
docker push $(DOCKER_REGISTRY_URI)/aws-gerrit/gerrit:$(IMAGE_TAG)