Merge remote-tracking branch 'origin/main'

This commit is contained in:
Jesse Brault 2024-11-03 11:27:31 -06:00
commit 123bc48909
2 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,28 @@
name: Jb-ssg-site CI Pipeline
on:
push:
branches:
- main
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Checkout the code.
uses: actions/checkout@v4
- name: Calculate short git commit SHA.
run: echo "SHORT_SHA=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV
- name: Build the Docker image.
run: docker build -t git.jessebrault.com/jessebrault/jb-ssg-site:${{ env.SHORT_SHA }} .
- name: Tag built image as latest.
run: docker tag git.jessebrault.com/jessebrault/jb-ssg-site:${{ env.SHORT_SHA }} git.jessebrault.com/jessebrault/jb-ssg-site:latest
- name: Login to Docker Registry.
uses: docker/login-action@v3
with:
registry: ${{ vars.DOCKER_REGISTRY }}
username: ${{ vars.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
logout: true
- name: Publish short commit SHA image to Docker registry.
run: docker push git.jessebrault.com/jessebrault/jb-ssg-site:${{ env.SHORT_SHA }}
- name: Publish latest image tag to Docker registry.
run: docker push git.jessebrault.com/jessebrault/jb-ssg-site:latest

18
Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM eclipse-temurin:21 AS build
LABEL authors="jessebrault"
WORKDIR /jb-ssg-site/
COPY . .
RUN --mount=type=secret,id=JBARCHIVA_USERNAME,env=JBARCHIVA_USERNAME \
--mount=type=secret,id=JBARCHIVA_PASSWORD,env=JBARCHIVA_PASSWORD \
./gradlew createSsgBinScript && \
bin/ssg build -g && \
./gradlew installServerDist
FROM eclipse-temurin:21
LABEL authors="jessebrault"
WORKDIR /jb-ssg-site
COPY --from=build /jb-ssg-site/dist/ dist/
COPY --from=build /jb-ssg-site/static/ static/
COPY --from=build /jb-ssg-site/build/install/jb-ssg-site-server/ .
EXPOSE 8080
CMD ["bin/JbServer"]