Implement CI for UI, Logical Backup Images to GHCR (#2527)
* Implement CI for UI, Logical Backup Images to GHCR --------- Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
This commit is contained in:
parent
886cb86797
commit
569fc57fc8
|
|
@ -1,4 +1,4 @@
|
|||
name: Publish multiarch postgres-operator image on ghcr.io
|
||||
name: Publish multiarch postgres-operator images on ghcr.io
|
||||
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
|
|
@ -9,6 +9,7 @@ on:
|
|||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
name: Build, test and push image
|
||||
|
|
@ -30,14 +31,20 @@ jobs:
|
|||
- name: Define image name
|
||||
id: image
|
||||
run: |
|
||||
IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//}"
|
||||
echo "NAME=${IMAGE,,}" >> $GITHUB_OUTPUT
|
||||
OPERATOR_IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${GITHUB_REF/refs\/tags\//}"
|
||||
echo "OPERATOR_IMAGE=$OPERATOR_IMAGE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Define image name
|
||||
- name: Define UI image name
|
||||
id: image_ui
|
||||
run: |
|
||||
IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAME_UI }}:${GITHUB_REF/refs\/tags\//}"
|
||||
echo "NAME=${IMAGE,,}" >> $GITHUB_OUTPUT
|
||||
UI_IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAME_UI }}:${GITHUB_REF/refs\/tags\//}"
|
||||
echo "UI_IMAGE=$UI_IMAGE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Define logical backup image name
|
||||
id: image_lb
|
||||
run: |
|
||||
BACKUP_IMAGE="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/logical-backup:${GITHUB_REF_NAME}"
|
||||
echo "BACKUP_IMAGE=$BACKUP_IMAGE" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
|
@ -52,23 +59,30 @@ jobs:
|
|||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build and push multiarch image to ghcr
|
||||
- name: Build and push multiarch operator image to ghcr
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
file: docker/Dockerfile
|
||||
push: true
|
||||
build-args: BASE_IMAGE=alpine:3.15
|
||||
tags: "${{ steps.image.outputs.NAME }}"
|
||||
tags: "${{ steps.image.outputs.OPERATOR_IMAGE }}"
|
||||
platforms: linux/amd64,linux/arm64
|
||||
|
||||
- name: Build and push multiarch image to ghcr for UI
|
||||
- name: Build and push multiarch ui image to ghcr
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ${{ github.workspace }}/ui
|
||||
file: ${{ github.workspace }}/ui/Dockerfile
|
||||
context: ui
|
||||
push: true
|
||||
build-args: BASE_IMAGE=alpine:3.15
|
||||
tags: "${{ steps.image_ui.outputs.NAME }}"
|
||||
tags: "${{ steps.image_ui.outputs.UI_IMAGE }}"
|
||||
platforms: linux/amd64,linux/arm64
|
||||
|
||||
- name: Build and push multiarch logical-backup image to ghcr
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: docker/logical-backup
|
||||
push: true
|
||||
build-args: BASE_IMAGE=ubuntu:22.04
|
||||
tags: "${{ steps.image_lb.outputs.BACKUP_IMAGE }}"
|
||||
platforms: linux/amd64,linux/arm64
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
FROM registry.opensource.zalan.do/library/ubuntu-22.04:latest
|
||||
ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest
|
||||
FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
|
|
|||
|
|
@ -1,5 +1,16 @@
|
|||
ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3.15:latest
|
||||
FROM ${BASE_IMAGE}
|
||||
ARG NODE_IMAGE=node:14.21.2-alpine
|
||||
|
||||
FROM $NODE_IMAGE AS build
|
||||
|
||||
COPY . /workdir
|
||||
WORKDIR /workdir/app
|
||||
|
||||
RUN npm install &&\
|
||||
npm run build
|
||||
|
||||
FROM $BASE_IMAGE
|
||||
|
||||
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
|
||||
|
||||
EXPOSE 8081
|
||||
|
|
@ -34,7 +45,7 @@ COPY start_server.sh /
|
|||
RUN pip3 install -r /requirements.txt
|
||||
|
||||
COPY operator_ui /operator_ui
|
||||
|
||||
COPY --from=build /workdir/operator_ui/static/build /operator_ui/static/build
|
||||
ARG VERSION=dev
|
||||
RUN sed -i "s/__version__ = .*/__version__ = '${VERSION}'/" /operator_ui/__init__.py
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue