Skip to content

Commit

Permalink
common images and pipelines
Browse files Browse the repository at this point in the history
  • Loading branch information
jjstratton committed Oct 10, 2024
1 parent 8144d35 commit 7967de6
Show file tree
Hide file tree
Showing 6 changed files with 307 additions and 0 deletions.
65 changes: 65 additions & 0 deletions .github/workflows/build-push-common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: diam-common

on:
push:
branches: [jess-admin-tool]
paths:
- "backend/common/**"
- ".github/workflows/build-push-common.yml"
workflow_dispatch:
env:
IMAGE_NAME: common
WORKING_DIRECTORY: ./backend
BRANCH_NAME: develop
VALUES_FILE: dev

jobs:
build:
runs-on: ubuntu-latest


if: github.event_name == 'push'

steps:
- uses: actions/checkout@v4

- name: Set environment for branch
run: |
if [[ ${{ github.ref_name }} == 'main' ]]; then
echo "BRANCH_NAME=main" >> "$GITHUB_ENV"
echo "VALUES_FILE=prod" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'test' ]]; then
echo "BRANCH_NAME=test" >> "$GITHUB_ENV"
echo "VALUES_FILE=test" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'develop' ]]; then
echo "BRANCH_NAME=develop" >> "$GITHUB_ENV"
echo "VALUES_FILE=dev" >> "$GITHUB_ENV"
fi
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- name: Branch name
run: echo running on branch ${GITHUB_REF##*/}

- name: Login to Artifactory
uses: docker/login-action@v1
with:
registry: artifacts.developer.gov.bc.ca
username: ${{ secrets.ARTIFACTORY_USERNAME }}
password: ${{ secrets.ARTIFACTORY_PASSWORD }}

- name: Build Image
working-directory: ${{env.WORKING_DIRECTORY}}
run: |
docker build -t artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/} -f Dockerfile.Common .
- name: Docker Push to Artifactory
run: |
docker push artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/}
65 changes: 65 additions & 0 deletions .github/workflows/build-push-commonconstants.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: diam-commonconstants

on:
push:
branches: [jess-admin-tool]
paths:
- "backend/commonconstants/**"
- ".github/workflows/build-push-commonconstants.yml"
workflow_dispatch:
env:
IMAGE_NAME: commonconstants
WORKING_DIRECTORY: ./backend
BRANCH_NAME: develop
VALUES_FILE: dev

jobs:
build:
runs-on: ubuntu-latest


if: github.event_name == 'push'

steps:
- uses: actions/checkout@v4

- name: Set environment for branch
run: |
if [[ ${{ github.ref_name }} == 'main' ]]; then
echo "BRANCH_NAME=main" >> "$GITHUB_ENV"
echo "VALUES_FILE=prod" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'test' ]]; then
echo "BRANCH_NAME=test" >> "$GITHUB_ENV"
echo "VALUES_FILE=test" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'develop' ]]; then
echo "BRANCH_NAME=develop" >> "$GITHUB_ENV"
echo "VALUES_FILE=dev" >> "$GITHUB_ENV"
fi
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- name: Branch name
run: echo running on branch ${GITHUB_REF##*/}

- name: Login to Artifactory
uses: docker/login-action@v1
with:
registry: artifacts.developer.gov.bc.ca
username: ${{ secrets.ARTIFACTORY_USERNAME }}
password: ${{ secrets.ARTIFACTORY_PASSWORD }}

- name: Build Image
working-directory: ${{env.WORKING_DIRECTORY}}
run: |
docker build -t artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/} -f Dockerfile.CommonConstants .
- name: Docker Push to Artifactory
run: |
docker push artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/}
65 changes: 65 additions & 0 deletions .github/workflows/build-push-commonmodels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: diam-commonmodels

on:
push:
branches: [jess-admin-tool]
paths:
- "backend/commonmodels/**"
- ".github/workflows/build-push-commonmodels.yml"
workflow_dispatch:
env:
IMAGE_NAME: commonmodels
WORKING_DIRECTORY: ./backend
BRANCH_NAME: develop
VALUES_FILE: dev

jobs:
build:
runs-on: ubuntu-latest


if: github.event_name == 'push'

steps:
- uses: actions/checkout@v4

- name: Set environment for branch
run: |
if [[ ${{ github.ref_name }} == 'main' ]]; then
echo "BRANCH_NAME=main" >> "$GITHUB_ENV"
echo "VALUES_FILE=prod" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'test' ]]; then
echo "BRANCH_NAME=test" >> "$GITHUB_ENV"
echo "VALUES_FILE=test" >> "$GITHUB_ENV"
fi
if [[ ${{ github.ref_name }} == 'develop' ]]; then
echo "BRANCH_NAME=develop" >> "$GITHUB_ENV"
echo "VALUES_FILE=dev" >> "$GITHUB_ENV"
fi
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch

- name: Branch name
run: echo running on branch ${GITHUB_REF##*/}

- name: Login to Artifactory
uses: docker/login-action@v1
with:
registry: artifacts.developer.gov.bc.ca
username: ${{ secrets.ARTIFACTORY_USERNAME }}
password: ${{ secrets.ARTIFACTORY_PASSWORD }}

- name: Build Image
working-directory: ${{env.WORKING_DIRECTORY}}
run: |
docker build -t artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/} -f Dockerfile.CommonModels .
- name: Docker Push to Artifactory
run: |
docker push artifacts.developer.gov.bc.ca/de27-common/${{env.IMAGE_NAME}}:${GITHUB_REF##*/}
38 changes: 38 additions & 0 deletions backend/Dockerfile.Common
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#------------------------------------------------------------------------------------
# WebAPI service Dockerfile
#------------------------------------------------------------------------------------

FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://*:8080
ENV ASPNETCORE_ENVIRONMENT="Production"
ENV \
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8

RUN apk add --no-cache icu-libs
RUN apk add bash

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build

WORKDIR /src
COPY ["common/Common.csproj", "common/Common.csproj"]
COPY ["CommonConstants/CommonConstants.csproj", "CommonConstants/CommonConstants.csproj"]
RUN dotnet restore -r linux-musl-x64 "common/Common.csproj"
COPY . .
RUN dotnet build -r linux-musl-x64 "common/Common.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish -r linux-musl-x64 "common/Common.csproj" -c Release -o /app/publish
USER root

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

USER 1001

ENTRYPOINT ["dotnet", "Common.dll"]

37 changes: 37 additions & 0 deletions backend/Dockerfile.CommonConstants
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#------------------------------------------------------------------------------------
# WebAPI service Dockerfile
#------------------------------------------------------------------------------------

FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://*:8080
ENV ASPNETCORE_ENVIRONMENT="Production"
ENV \
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8

RUN apk add --no-cache icu-libs
RUN apk add bash

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build

WORKDIR /src
COPY ["CommonConstants/CommonConstants.csproj", "CommonConstants/CommonConstants.csproj"]
RUN dotnet restore -r linux-musl-x64 "CommonConstants/CommonConstants.csproj"
COPY . .
RUN dotnet build -r linux-musl-x64 "CommonConstants/CommonConstants.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish -r linux-musl-x64 "CommonConstants/CommonConstants.csproj" -c Release -o /app/publish
USER root

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

USER 1001

ENTRYPOINT ["dotnet", "CommonConstants.dll"]

37 changes: 37 additions & 0 deletions backend/Dockerfile.CommonModels
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#------------------------------------------------------------------------------------
# WebAPI service Dockerfile
#------------------------------------------------------------------------------------

FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine AS base
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://*:8080
ENV ASPNETCORE_ENVIRONMENT="Production"
ENV \
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 \
LC_ALL=en_US.UTF-8 \
LANG=en_US.UTF-8

RUN apk add --no-cache icu-libs
RUN apk add bash

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build

WORKDIR /src
COPY ["CommonModels/CommonModels.csproj", "CommonModels/CommonModels.csproj"]
RUN dotnet restore -r linux-musl-x64 "CommonModels/CommonModels.csproj"
COPY . .
RUN dotnet build -r linux-musl-x64 "CommonModels/CommonModels.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish -r linux-musl-x64 "CommonModels/CommonModels.csproj" -c Release -o /app/publish
USER root

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

USER 1001

ENTRYPOINT ["dotnet", "CommonModels.dll"]

0 comments on commit 7967de6

Please sign in to comment.