
Copy static files directly into the container image instead of managing them dynamically with Ansible. Change-Id: I0ebe40ad2a97e87b00137af7c93a3ffa84929a2e
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
- hosts: all
|
|
tasks:
|
|
- name: Build gerrit
|
|
include_role:
|
|
name: bazelisk-build
|
|
vars:
|
|
zuul_work_dir: /home/zuul/src/gerrit.googlesource.com/gerrit
|
|
# NOTE(ianw): There doesn't seem to be a way to integrate
|
|
# polygerrit/javascript plugins into the standard "release"
|
|
# target; we add plugins as separate targets here
|
|
bazelisk_targets:
|
|
- release
|
|
- plugins/zuul-results-summary:zuul-results-summary
|
|
|
|
# Bazel makes "convenience symlinks" [1] starting with bazel-* to
|
|
# the actual build output. The problem is that we want to use the
|
|
# source tree as the context/build dir for our Docker container,
|
|
# and Docker refuses to follow symlinks for COPY commands; i.e. we
|
|
# can't copy stuff from the build output into the container.
|
|
# Therefore break the bazel-bin link and move to the top level so
|
|
# we can copy the built bits (jars, plugins, etc) into the
|
|
# container easily.
|
|
#
|
|
# [1] https://docs.bazel.build/versions/master/user-manual.html
|
|
- name: Make bazel-bin docker friendly
|
|
shell:
|
|
cmd: |
|
|
if [ ! -L bazel-bin ]; then
|
|
echo "bazel-bin not a symlink?"
|
|
exit 1
|
|
fi
|
|
target=$(readlink bazel-bin)
|
|
rm bazel-bin
|
|
mv $target bazel-bin
|
|
chdir: /home/zuul/src/gerrit.googlesource.com/gerrit
|
|
|
|
- name: Install static files to container build context
|
|
block:
|
|
- name: Ensure directories
|
|
file:
|
|
path: '/home/zuul/src/gerrit.googlesource.com/gerrit/{{ item }}'
|
|
state: directory
|
|
loop:
|
|
- plugins
|
|
- static
|
|
- name: Copy static files
|
|
copy:
|
|
src: '{{ item }}'
|
|
dest: '/home/zuul/src/gerrit.googlesource.com/gerrit/{{ item }}'
|
|
loop:
|
|
- static/cla.html
|
|
- static/robots.txt
|
|
- static/system-cla.html
|
|
- static/usg-cla.html
|
|
- plugins/opendevtheme.html
|
|
|
|
- name: Build docker image
|
|
include_role:
|
|
name: build-docker-image
|
|
|
|
- hosts: localhost
|
|
roles:
|
|
- pause-buildset-registry
|