Skip to content

Commit

Permalink
ci: implement deploychain
Browse files Browse the repository at this point in the history
  • Loading branch information
FritzHoing committed May 7, 2024
1 parent 3e4fc16 commit 57de564
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 41 deletions.
101 changes: 101 additions & 0 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@

name: Deploy to GitHub Pages

on:
push:
branches:
- deploy

env:
DOCKER_REGISTRY: docker-public.terrestris.de/terrestris

jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: npm

- name: Install dependencies
run: npm ci
- name: Build website
run: npm run build

# Popular action to deploy to GitHub Pages:
# Docs: /~https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Build output to publish to the `gh-pages` branch:
publish_dir: ./build
# The following lines assign commit authorship to the official
# GH-Actions bot for deploys to `gh-pages` branch:
# /~https://github.com/actions/checkout/issues/13#issuecomment-724415212
# The GH actions bot is used by default if you didn't specify the two fields.
# You can swap them out with your own user credentials.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com

create_and_push_image:
runs-on: ubuntu-latest
steps:
- name: Checkout sources 🔰
uses: actions/checkout@v4

- name: Setup Node.js 🧮
uses: actions/setup-node@v4
with:
node-version: 20

- name: Cache Node.js modules 💾
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.OS }}-node-
${{ runner.OS }}-
- name: Install dependencies ⏬
run: npm ci

- name: Build artifacts 🏗️
run: npm run build

- name: Login to Nexus ⌨️
uses: docker/login-action@v1
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.NEXUS_USERNAME }}
password: ${{ secrets.NEXUS_PASSWORD }}

- name: Build docker gis-client image (main) 🏗️
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.gis.client
tags: |
${{ env.DOCKER_REGISTRY }}/shogun-gis-client-docs:main
load: true

- name: Push docker gis-client image to Nexus (main) 📠
run: |
docker push ${{ env.DOCKER_REGISTRY }}/shogun-gis-client-docs:main
- name: Build docker admin-client image (main) 🏗️
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.admin.client
tags: |
${{ env.DOCKER_REGISTRY }}/shogun-admin-client-docs:main
load: true

- name: Push docker admin-client image to Nexus (main) 📠
run: |
docker push ${{ env.DOCKER_REGISTRY }}/shogun-admin-client-docs:main
39 changes: 0 additions & 39 deletions .github/workflows/hg-pages.yml

This file was deleted.

5 changes: 3 additions & 2 deletions Dockerfile → Dockerfile.admin.client
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16.15.1-alpine as build
FROM node:18.18.2-alpine3.17 AS build

WORKDIR /app

Expand All @@ -8,10 +8,11 @@ COPY package-lock.json ./
RUN npm ci

COPY . ./
RUN rm -rf /app/docs/gis-client

RUN npm run build

FROM nginx:1.24.0-alpine
FROM nginx:1.25.3-alpine-slim

COPY --from=build /app/build /usr/share/nginx/html

Expand Down
21 changes: 21 additions & 0 deletions Dockerfile.gis.client
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM node:18.18.2-alpine3.17 AS build

WORKDIR /app

COPY package.json ./
COPY package-lock.json ./

RUN npm ci

COPY . ./
RUN rm -rf /app/docs/admin-client

RUN npm run build

FROM nginx:1.25.3-alpine-slim

COPY --from=build /app/build /usr/share/nginx/html

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

0 comments on commit 57de564

Please sign in to comment.